我有一个用户控件,在其中有一个标签。
<asp:Label ID="lblProductionName"
runat="server"
Text="Production Name will come here">
</asp:Label>
我使用以下函数从代码后台呈现给定的UC:
``` 我使用以下函数从代码后台呈现给定的UC: ```
private string RenderControl(Control control)
{
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter writer = new HtmlTextWriter(sw);
control.RenderControl(writer);
return sb.ToString();
}
渲染后,我得到了以下输出字符串:
<span id="lblProductionName">Production Name will come here</span>
现在,当我放置两个相同的用户控件时,输出字符串中会得到相同的span ID。
我想为两个用户控件的实例生成两个不同的ID。我该如何生成它?
UserControl
并将其添加到页面上(或者甚至可以在aspx文件中声明式地添加它们)? - Tim SchmelterControls.Add
方法向其添加控件,并且摆脱RenderControl
方法,只需设置适当的属性或利用Attributes.Add
(如果必要)- 您将摆脱id
的问题,因为它将利用命名容器。 - Mike Perrenoud