0

我面临一个奇怪的问题来访问一些HtmlGenericControl在运行时创建的。

如何制作HtmlGenericControl runat ="server"?所以我可以访问它


 HtmlGenericControl myli = new HtmlGenericControl("li");
4

2 回答 2

1

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

  1. runat="server"在此 HTML 控件和HTML 控件中添加 2 个新属性id="id"
于 2012-02-21T07:59:30.490 回答
1

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

我相信您会创建某种结构、数组、字典等,将 li 的列表映射到它们的父 UL,然后您可以通过 li 的哈希到的 UL 键拉取 li 的列表来在代码中对它们进行交互。

如果您愿意,请提供列表地图。因此 Map.get("ulKey") 返回一个 li 列表,您现在可以迭代并在其上运行适当的代码。有道理?

于 2012-02-21T08:14:50.513 回答