如何使HtmlGenericControl属性runat=";服务器”;.从代码中访问它

本文关键字:服务器 访问 代码 quot HtmlGenericControl 何使 属性 runat | 更新日期: 2023-09-27 18:25:12

我在访问运行时创建的一些HtmlGenericControl时遇到了一个奇怪的问题。

如何制作HtmlGenericControl runat ="server"?这样我就可以访问


 HtmlGenericControl myli = new HtmlGenericControl("li");

如何使HtmlGenericControl属性runat=";服务器”;.从代码中访问它

因为runat在编译时被插入,所以它实际上在.designer文件中创建了控件,这基本上就是你在.cs(代码隐藏)中所做的。因此,在运行时创建控件需要手动创建控件树,如果你使用设计器,这会自动发生。

我相信你会创建某种Structure、Array、Dictionary等,将li的列表映射到它们的parrent UL,然后你可以通过将li散列到的UL密钥提取li的列表来在代码中交互这些。

一张列表地图,如果你愿意的话。所以Map.get("ulKey")返回了一个李的列表,您现在可以对其进行迭代并运行适当的代码。这有意义吗?

如果您在运行时创建任何HtmlGenericControl,这意味着它是服务器控件,您可以在代码中轻松使用它,如果您想使用当时.aspx页面上存在的任何HTML控件,请使用这种方式将此HTML控件转换为服务器控件。

  1. 在此HTML控件中添加两个新属性runat="server"id="id"