INamingContainer 接口

+++++++++++++++++++
-----------------------------From MSDN

标识在 Page 对象的控件层次结构内创建新 ID 命名空间的容器控件。这仅是一个标记接口。实现该接口,不需要实现任何方法。


任何实现该接口的控件都创建一个新的命名空间,在这个新的命名空间中,所有子控件 ID 属性在整个应用程序内保证是唯一的。由该接口提供的标记允许在支持数据绑定的 Web 服务器控件内唯一命名动态生成的服务器控件实例。这些控件包括 RepeaterDataGridDataListCheckBoxListChangePasswordLoginViewMenuSiteMapNodeItemRadioButtonList 控件。

在开发模板化控件时,应实现该接口以避免同一页上的命名冲突。有关更多信息,请参见 ASP.NET 控件设计器概述++++++++++++++++++++
下面的代码示例说明实现 INamingContainer 接口的模板自定义服务器控件。当该自定义服务器控件用于 .aspx 文件时,它将为其所包含的任何服务器控件提供唯一的命名空间。
++++++++++++++++++++

Code

+++++++++++++++++++++
一个简单的复合控件,开始忘了继承接口INamingContainer,结果子控件(TextBox)不能保存视图状态,每次页面提交后TextBox的内容都会丢失,后来继承接口INamingContainer即OK了。
 
对控件开发来说这是一个重要的接口,他还有一个重要的作用就是能按控件层次结构创建子控件的ID
posted @ 2008-12-15 14:13  shuang  阅读(445)  评论(0)    收藏  举报