私はいくつかの動的コントロール、例えばTextBox
を作成します。 これらは、ModalPopupExtender
で作成され、ButtonClickの後に作成されます。動的に再作成されたTextBox Page_PreInitの値はHiddenFieldの値に依存します
protected void AddGroupBTN_Click(object sender, EventArgs e)
{
GroupMPE.Show();//GroupMPE is a ModalPopupExtender
ScheduleIdHF.Value = 1; //ScheduleIdHF is a HiddenField declared in the .aspx page
CreateControls(ScheduleIdHF.Value);
...
}
private void CreateControls(string ScheduleId)
{
TableRow TR = new TableRow();
TR.ID = "tableRow1";
TableCell TC = new TableCell();
TC.ID = "tableCell1;
TextBox textBox = new TextBox();
textBox.ID = "textBox1";
TC.Controls.Add(textBox);
TR.Cells.Add(TC);
ExampleTable1.Rows.Add(TR);//ExampleTable1 is declared in the .aspx page
}
その後、別のボタンがクリックされたとき、私はこのようなPage_PreInit
にこれらのコントロールを再作成します。
protected void Page_PreInit(object sender, EventArgs e)
{
if(IsPostBack)
{
if (!string.IsNullOrEmpty(ScheduleIdHF.Value))
{
CreateControls(ScheduleIdHF.Value);
...
は、しかし、私はCreateControlsへのメソッド呼び出しは、と
HiddenField
ScheduleIdHFの値を使用して、上の条件になりたいです。問題は
HiddenField
がヌルで、
Page_PreInit
イベントの後に作成されないことです。誰にもこの謎を解く解決策はありますか?ポストバック後に
TextBox
のテキストを取得したいからです。
私はそれが可能であるとは思いません。 docs:https://msdn.microsoft.com/en-us/library/ms178472.aspx –
を参照してください。それは非常に簡単です。 – Sunil