c# response.write 的问题

我用按钮单击触发“response.write(“abc”);”,不管我怎么单击按钮,页面只显示一个abc,这是为何?我单击5次,只显示一个abc,但我需要的是显示5个a... 我用按钮单击触发“response.write(“abc”);”,不管我怎么单击按钮,页面只显示一个abc,这是为何?
我单击5次,只显示一个abc,但我需要的是显示5个abc。
展开
 我来答
济南隔壁老王
2014-04-09 · 超过23用户采纳过TA的回答
知道答主
回答量:61
采纳率:100%
帮助的人:42.1万
展开全部
首先你要了解Web通信原理。WEB编程模型是一种无状态的模型,微软在2。0时代封装了Web编程模型,使得看起来是有状态的。但是实际上还是无状态的。
Response.Write(“abc”)这是在从服务器的响应流中写入abc三个字符,发送给客户端。一旦调用这种方法,就意味着在响应流的顶部添加abc三个字符。而且这三个字符没有封装在微软的服务器端控件上(比如,文本框,下拉列表等),因此这些信息是不会保留在ViewState里面回传给服务器,所以第二次点击按钮发送服务器请求时,服务器根本不知道以前写过abc,所以他不会还原上一次的abc,然后在顶部再添加abc。
说的可能很混乱,举个例子:
你给我送豆腐,每天送1斤,按理说我会在收货单子上添加一个记录。于是你可以看到好多个1斤。
但是,很遗憾,你每次都不把收货单子带来,我只能每次给你个新的收货单子,上面写1斤.....
郏鸿祯C6
2014-04-09 · TA获得超过4549个赞
知道小有建树答主
回答量:1601
采纳率:50%
帮助的人:1202万
展开全部
你只在页面谢了abc,当然只有abc了,你想要什么结果?
追问
一般来说,不是只要触发单击,就会不断的执行response.write这个语句吗?现在我就是奇怪,为什么我单击了5次,页面上还是只显示一个abc,而不是5个abc。
追答
因为Response.Write方法只是在服务器返回的文件流中临时增加一段文本的输出,也就是说你增加的"abc"只存在于客户端,而没有保存在服务端。所以当你下一次单击按钮的时候,上一次的"abc"本来就不存在,所以你在客户端永远只能看到一个"abc"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式