ていないものが動的に作成したユーザー管理
-
02-07-2019 - |
質問
いユーザー管理の名DateTimeUCをtextboxes、そのマークアップ:
<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は空のコンポーネントスイートです。カウントが0になります。なぜですか?
解決
使用してください LoadControl( "your_user_control_app_relative_path.ascx" )
方法ではなく"DateTimeUC uc=new DateTimeUC();"
他のヒント
またこの問題を自分ら。を使用する必要があり、LoadControl()メソッドがあります。チェック このページ ます。
たいと思います追加の制御のページのフォーム機種判別等はしていないので、形態そのものです。
コード:
Controls.Add( GenerateDateTime(parameter) );
う:
Page.Form.Controls.Add( GenerateDateTime(parameter) );
所属していません StackOverflow