如何创建一个HtmlGenericControl属性runat =“server”。从代码中访问它?

时间:2012-02-21 07:50:59

标签: c# javascript asp.net controls htmlgenericcontrol

我遇到一个奇怪的问题,就是访问在运行时创建的一些HtmlGenericControl

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


 HtmlGenericControl myli = new HtmlGenericControl("li");

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

我相信你会创建某种结构,数组,字典等,它会将li的列表映射到它们的UL,然后你可以通过UL列的li键列出li的列表来解决这些问题。哈希到。

如果你愿意,可以列出一份清单。所以Map.get(“ulKey”)返回一个li列表,你现在可以迭代并运行适当的代码。有意义吗?