gpt4 book ai didi

c# - 从后面的代码添加的 CheckBox CheckedChanged 事件

转载 作者:行者123 更新时间:2023-11-30 14:26:00 25 4
gpt4 key购买 nike

我从后面的代码中添加了几个复选框,但无法触发 CheckedChanged 事件。

此代码在页面加载时被调用:

CheckBox cb = new CheckBox();
cb.AutoPostBack = true;
cb.CheckedChanged += cb_CheckedChanged;

cb.ToolTip = dr["Id"].ToString();
cb.ID = Guid.NewGuid().ToString();

Label lbl = new Label();
lbl.Text = dr["Id"].ToString();
lbl.AssociatedControlID = cb.ID;

dvCheckboxes.Controls.Add(cb);
dvCheckboxes.Controls.Add(lbl);
dvCheckboxes.Controls.Add(new LiteralControl("<br />"));

事件:

void cb_CheckedChanged(object sender, EventArgs e)
{
System.Diagnostics.Debug.Write(((CheckBox)sender).ToolTip);
}

我在 CheckedChanged 事件中放置了一个断点,但它从未到达。

我尝试过的:

  • 将代码放在 if(!IsPostBack) 中,但没有区别。
  • cb.CheckedChanged += new EventHandler(cb_CheckedChanged);
  • cb.CheckedChanged += new EventHandler(this.cb_CheckedChanged);
  • cb.ViewStateMode = System.Web.UI.ViewStateMode.Enabled;
  • 尝试将代码放入 Page_Init 而不是 Page_Load

最佳答案

@johan,试试这个。在 PageInit 而不是 Pageload 中创建复选框。还为复选框提供适当的 ID。

        protected void Page_Load(object sender, EventArgs e)
{

}
protected void Page_init(object sender, EventArgs e)
{
CheckBox cb = new CheckBox();
cb.AutoPostBack = true;
cb.CheckedChanged +=cb_CheckedChanged;
cb.CausesValidation = false;
cb.ToolTip = "Hello";
cb.ID = "chk_test";

Label lbl = new Label();
lbl.Text = "test";
lbl.AssociatedControlID = cb.ID;

dvCheckboxes.Controls.Add(cb);
dvCheckboxes.Controls.Add(lbl);
dvCheckboxes.Controls.Add(new LiteralControl("<br />"));
}
protected void cb_CheckedChanged(object sender, EventArgs e)
{

System.Diagnostics.Debug.Write(((CheckBox)sender).ToolTip);
}

关于c# - 从后面的代码添加的 CheckBox CheckedChanged 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36737548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com