マークアップに 2 つのテキスト ボックスがある DateTimeUC という名前のユーザー コントロールがあります。
<asp:TextBox ID="dateTextBox" runat="server"></asp:TextBox>
<asp:TextBox ID="timeTextBox" runat="server"></asp:TextBox>
別のユーザー コントロールでこのコントロールを動的に作成しています。
Controls.Add(GenerateDateTime(parameter));
private DateTimeUC GenerateDateTime(SomeParameter parameter)
{
DateTimeUC uc = new DateTimeUC();
uc.ID = parameter.Name;
return uc;
}
しかし、ページをレンダリングすると、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();
}
s は空で、Controls.Count は 0 です。何が間違っていますか?