Ser*_*gel 5 asp.net user-controls dynamic-controls
我有一个名为DateTimeUC的用户控件,它的标记上有两个文本框:
<asp:TextBox ID="dateTextBox" runat="server"></asp:TextBox>
<asp:TextBox ID="timeTextBox" runat="server"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
我在另一个用户控件中动态创建此控件:
Controls.Add(GenerateDateTime(parameter));
private DateTimeUC GenerateDateTime(SomeParameter parameter)
{
DateTimeUC uc = new DateTimeUC();
uc.ID = parameter.Name;
return uc;
}
Run Code Online (Sandbox Code Playgroud)
但是当我渲染页面时,DateTimeUC什么也没渲染.我这样检查过:
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
StringBuilder builder = new StringBuilder();
StringWriter swriter = new StringWriter(builder);
HtmlTextWriter hwriter = new HtmlTextWriter(swriter);
base.Render(hwriter);
string s = builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)
s为空,Controls.Count为0.我做错了什么?
您必须使用该LoadControl( "your_user_control_app_relative_path.ascx" )方法而不是"DateTimeUC uc = new DateTimeUC();"
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |