我在MSDN上读到,InamingContainer是一个用于创建唯一名称的标记接口。那么什么时候真正需要使用它呢?
我在MSDN上读到,InamingContainer是一个用于创建唯一名称的标记接口。那么什么时候真正需要使用它呢?
坦白地说,当您的控件具有ID的子级时,需要使用此功能。虽然您可以在单个页面上使用多个控件实例,但必须使用 INamingContainer
接口标记您的控件。这是 CompositeControls
的最常见情况,因此默认情况下它已派生了 INamingContainer
。
任何实现此接口的控件都将在其中创建一个新的命名空间,该命名空间内所有子控件ID属性都保证在整个应用程序中是唯一的。此接口提供的标记允许在支持数据绑定的Web服务器控件中对动态生成的服务器控件实例进行唯一命名。这些控件包括Repeater、DataGrid、DataList、CheckBoxList、ChangePassword、LoginView、Menu、SiteMapNodeItem和RadioButtonList控件。
当您开发模板控件时,应实现此接口以避免页面上的命名冲突。
关于 Inaming 容器接口的非常简单的解释
http://www.robertsindall.co.uk/blog/2010/09/27/using-inamingcontainer-in-controls/#comment-95498