動的調査の作成を検討しています。データベースからすべての質問コントロールを生成する場所。以下は、私がやろうとしていることの例です(データベース部分なし)。以下に示すように、質問を表示できます。ユーザー入力を読み取ることができません。
誰にもアイデアはありますか。
ビューステートを調べましたが、機能していないようです。
Post Back によってページがリロードされると、コントロールはなくなります。考えられるすべてのイベントを調べましたが、ページにコントロールはありません。Page_Load イベントでそれらを再度作成するまで。
動的に作成されたコントロールのユーザー入力の値を見つけるには、どこを見ればよいですか?
ページ
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
コードファイル
protected override void OnPreLoad(EventArgs e)
{
base.OnPreLoad(e);
foreach (Control item in form1.Controls)
{ }
}
protected void Page_PreInit(object sender, EventArgs e)
{
foreach (Control item in form1.Controls)
{ }
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
foreach (Control item in form1.Controls)
{ }
}
protected override void OnSaveStateComplete(EventArgs e)
{
base.OnSaveStateComplete(e);
foreach (Control item in form1.Controls)
{ }
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
foreach (Control item in form1.Controls)
{ }
}
protected void Page_Load(object sender, EventArgs e)
{
RadioButton rb;
rb = new RadioButton();
rb.ID = "rb_1";
rb.Text = "yes";
rb.GroupName = "question";
form1.Controls.Add(rb);
rb = new RadioButton();
rb.ID = "rb_2";
rb.Text = "no";
rb.GroupName = "question";
form1.Controls.Add(rb);
rb = new RadioButton();
rb.ID = "rb_3";
rb.Text = "other";
rb.GroupName = "question";
form1.Controls.Add(rb);
TextBox tb = new TextBox();
form1.Controls.Add(tb);
Button btn = new Button();
btn.Text = "Save";
form1.Controls.Add(btn);
foreach (Control item in form1.Controls)
{
}
}