項目 (1 から 4 までの数字) を含むドロップダウン リストがある単純なアプリケーションを作成してみてください。
ユーザーが選択した数に応じて、この数のチェックボックスをバインドされたcheckchangedイベントで動的に作成します。したがって、ユーザーがいくつかのチェックボックスをチェックすると、checkedchanged イベントが発生し、チェックされたチェックボックスのテキストがセッションに保存され、ボタンをクリックすると、チェックされたチェックボックスのテキストのみが表示されます。
しかし、checkchanged イベント ハンドラーで動的コントロールを再作成する必要があるようですが、解決策は見つかりませんでした。前もって感謝します。
public partial class proba : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
dd1.Items.Add("1");
dd1.Items.Add("2");
dd1.Items.Add("3");
dd1.Items.Add("4");
}
protected void dd1_SelectedIndexChanged1(object sender, EventArgs e)
{
int numTourists = Convert.ToInt32(dd1.SelectedItem.Text);
for (int i = 0; i < numTourists; i++)
{
CheckBox chk = new CheckBox();
chk.ID = "chk" + i;
chk.Text = "box" + i;
chk.AutoPostBack = true;
chk.CheckedChanged += new EventHandler(checkChanged);
Page.FindControl("form1").Controls.Add(chk);
}
}
protected void checkChanged(object sender, EventArgs e)
{
// here I should recteate the control
CheckBox chk = (CheckBox)sender;
lblpr.Text += chk.Text;
Srolession["chk"] = chk.Text;
}