摘要: INamingContainer是一个没有任何方法的接口。当用控件实现此接口时,ASP.NET 页框架将在此控件下创建新的命名范围。这样可以保证子控件在控件层次结构树中具有唯一的ID。如果控件是提供数据绑定的复合控件(包含子控件),或者控件是模板化控件,或者控件需要将事件路由到其子控件,则控件必须实现INamingContainer接口。在开发控件时,如果控件继承了CompositeControl,则不需要再继承INamingContainer接口,因为CompositeControl本身就继承了InamingContainer。一般一个控件主要使用以下三个属性作为其唯一标志:ID,Uniqu 阅读全文
posted @ 2012-09-17 10:31 jsping68 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 在ASP.NET自定义控件开发中,如果需要保存控件的状态,通常都需要实现SaveViewState(),LoadViewState()和TrackViewState()三个方法,这是由IStateManager接口所定义的。前两个方法作用很明晰,SaveViewState()是将控件的当前状态抽取为一个状态对象,页面类获取所有控件的状态对象对其进行编码生成可在网络上传输的格式(Base64),并将其塞入到一个id为__VIEWSTATE的input元素中发给浏览器。LoadViewState()是控件从浏览器中传回来的数据中重新读取值,使其回复到上次状态。那么TrackViewState(), 阅读全文
posted @ 2012-09-17 09:37 jsping68 阅读(347) 评论(0) 推荐(0) 编辑