在ASP.NET的回发中,会将TextBox的旧值回发到服务器吗?
譬如,我一个文本框有一个textchange事件,它的初始值是aaaa,我重新输入值为bbbb,引发textchange回发时,我通过HTTP WATCH看到回发的是bbbb,我想问的是在这里aaaa不用回发到服务器吗?那它怎么比较textbox的值是否发生变化从而引发textchange事件呢?难道是在客户端判断是否发生变化从而决定是否回发事件?总之,我想问的是
1、textchange事件是在客户端判断是否发生变化引起回发?还是回发到服务器端再判断是否引发textchange事件?
2、旧值应该是通过viewstate传回到服务器端吧?那新值是怎么传回去的呢?新值组成一个字符串textbox1=bbbb&textbox2=ccc来返回给服务器的吗?
譬如,我一个文本框有一个textchange事件,它的初始值是aaaa,我重新输入值为bbbb,引发textchange回发时,我通过HTTP WATCH看到回发的是bbbb,我想问的是在这里aaaa不用回发到服务器吗?那它怎么比较textbox的值是否发生变化从而引发textchange事件呢?难道是在客户端判断是否发生变化从而决定是否回发事件?总之,我想问的是
1、textchange事件是在客户端判断是否发生变化引起回发?还是回发到服务器端再判断是否引发textchange事件?
2、旧值应该是通过viewstate传回到服务器端吧?那新值是怎么传回去的呢?新值组成一个字符串textbox1=bbbb&textbox2=ccc来返回给服务器的吗?
Page对客户端请求进行处理,在处理的过程中先是将客户端提交的_VIEWSTATE反序列化为对象
你看下生成的html代码 都是在生成的隐藏的hidden里面 放着。
单击按钮后 但是读取当前表单的内容。发送给服务器端
不是,textchange事件的触发是发生在此文本框失去焦点的时候,而且你的AutoPostback属性要是true。2、旧值应该是通过viewstate传回到服务器端吧?那新值是怎么传回去的呢?新值组成一个字符串textbox1=bbbb&textbox2=ccc来返回给服务器的吗?
因为是失去焦点的时候触发该事件,那么我想你就比较好理解了吧,包括新值的回传,这些都简单了
恢复完比较, 如果有改变才激发 chagned 事件.整个的过程可以开启页面 trace 来观察, 这个功能对学习和调试很有帮助.
建议你看一下MSDN的帮助文档 了解下自定义控件。比如回发要继承什么接口,要重写什么方法