INamingContainer 接口
+++++++++++++++++++
-----------------------------From MSDN
标识在 Page 对象的控件层次结构内创建新 ID 命名空间的容器控件。这仅是一个标记接口。实现该接口,不需要实现任何方法。
任何实现该接口的控件都创建一个新的命名空间,在这个新的命名空间中,所有子控件 ID 属性在整个应用程序内保证是唯一的。由该接口提供的标记允许在支持数据绑定的 Web 服务器控件内唯一命名动态生成的服务器控件实例。这些控件包括 Repeater、DataGrid、DataList、CheckBoxList、ChangePassword、LoginView、Menu、SiteMapNodeItem 及 RadioButtonList 控件。
在开发模板化控件时,应实现该接口以避免同一页上的命名冲突。有关更多信息,请参见 ASP.NET 控件设计器概述。++++++++++++++++++++
下面的代码示例说明实现 INamingContainer 接口的模板自定义服务器控件。当该自定义服务器控件用于 .aspx 文件时,它将为其所包含的任何服务器控件提供唯一的命名空间。
++++++++++++++++++++
+++++++++++++++++++++
一个简单的复合控件,开始忘了继承接口INamingContainer,结果子控件(TextBox)不能保存视图状态,每次页面提交后TextBox的内容都会丢失,后来继承接口INamingContainer即OK了。
对控件开发来说这是一个重要的接口,他还有一个重要的作用就是能按控件层次结构创建子控件的ID。

浙公网安备 33010602011771号