我添加了一个CheckBox
在asp.net中动态地
CheckBox cb = new CheckBox();
cb.Text = "text";
cb.ID = "1";
我可以访问这个CheckBox
通过 c# 在pageLoad
本身,就在声明上述代码之后。
但是,当我在单击按钮后尝试访问这些值时,我得到了空值。
CheckBox cb1 = (CheckBox)ph.FindControl("1");
Response.Write(cb1.Text);
ph.Controls.Add(cb);
(ph
是一个占位符)
谁能告诉我这里出了什么问题吗?
每次页面回发时,您都需要重新创建复选框,在Page_Load
事件,因为它是动态添加到页面的。
然后您可以稍后在按钮单击事件中访问该复选框。
// 您好,这里是更新的示例代码...
来源
<body>
<form id="frmDynamicControl" runat="server">
<div>
<asp:Button ID="btnGetCheckBoxValue" Text="Get Checkbox Value" runat="server"
onclick="btnGetCheckBoxValue_Click" />
</div>
</form>
</body>
代码隐藏
protected void Page_Load(object sender, EventArgs e)
{
CheckBox cb = new CheckBox();
cb.Text = "text";
cb.ID = "1";
frmDynamicControl.Controls.Add(cb);
}
protected void btnGetCheckBoxValue_Click(object sender, EventArgs e)
{
CheckBox cb1 = (CheckBox)Page.FindControl("1");
// Use checkbox here...
Response.Write(cb1.Text + ": " + cb1.Checked.ToString());
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)