控件的状态还有一个很棒的特性是在即使ViewState被禁用的情况下,控件的状态保持依然可用。
注意在Render方法里有:Page.VerifyRenderingInServerForm(this);,这行代码表示此控件必须在<form>标签内,如果不在此标签内,则会报错.所有需要实现数据回传的控件最好都要使用这个方法。TextBoxDemo控件的使用方法这里就不再累述了。
当然也可以获得其他控件这一次的回传数据以达到和其它控件的交互,比如:
所以可以这样来获得本控件这一次的回传数据:
asp.net学习在asp.net2.0以后的版本。可以通过设置控件的EnableViewState属性来控制单个控件是否保存其状态。在一些访问量比较大的网站上,如果不注意关闭不需要的ViewState,则用户在每回提交时都会导致传送额外的ViewState字符串,这回导致性能问题.
查看原文
通过实现IPostDataHandler接口,服务器可以在不使用Page和Request对象的情况下来读取客户端回传数据。IPostDataHandler还提供了在用户状态改变的情况Asp.net控件开发学习之数据回传下来引发相应事件的框架。IPostDataHandler的定义如下:
代码如下:
}这个方法有两个参数,先说第二个参数,第二个参数返回键值对,IC交易网key(键)是控件的uniqueid,这个id是通过客户端的id来决定的,大多数情况下,这两个id相等,比如客户端的<inputid=””””则在服务端的uniqueid也会是”xx”,但是如果控件放在gridview或者masterpage里的话,uniqueid会是母控件的uniqueid+分隔符+子控件的uniqueid.而value(值)则是对应控件的回传数据。