Joh*_*son 3 c# asp.net checkbox events
我从后面的代码中添加了几个复选框,但是我无法触发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 />"));
Run Code Online (Sandbox Code Playgroud)
事件:
void cb_CheckedChanged(object sender, EventArgs e)
{
System.Diagnostics.Debug.Write(((CheckBox)sender).ToolTip);
}
Run Code Online (Sandbox Code Playgroud)
我在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小智 6
@johan,试试吧.在PageInit中创建复选框而不是Pageload.还为Checkbox提供适当的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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7423 次 |
| 最近记录: |