[英]CheckedChanged event is not fired
在我的WebForm
我希望在用户检查一个产品时总价格发生变化,但我的代码存在此问题,
检查CheckBox
时, CheckedChanged
事件没有触发
它只在我单击Button
(用作清除按钮)时触发,并且我没有在按钮事件中包含该代码!
这是我的代码:
public partial class _Default : System.Web.UI.Page
{
int total = 0;
String strtotal;
protected void ckb1_CheckedChanged(object sender, EventArgs e)
{
if (ckb1.Checked)
{
total = total + 100;
strtotal = total.ToString();
lbl2.Text = strtotal;
}
}
protected void ckb2_CheckedChanged(object sender, EventArgs e)
{
if (ckb2.Checked)
{
total = total + 80;
strtotal = total.ToString();
lbl2.Text = strtotal;
}
}
protected void ckb3_CheckedChanged(object sender, EventArgs e)
{
if (ckb3.Checked)
{
total = total + 70;
strtotal = total.ToString();
lbl2.Text = strtotal;
}
}
protected void Button3_Click(object sender, EventArgs e)
{
TextBox1.Text = " ";
ckb1.Checked = false;
ckb2.Checked = false;
ckb3.Checked = false;
}
}
除了所有的ASP.NET服务器控件Button
, Hyperlink
和LinkButton
有一个默认AutoPostBack
的属性false
,所以,你应该设置AutoPostBack="true"
在你的CheckBox
:
<asp:CheckBox ID="ckb1" runat="server" AutoPostBack="true" OnCheckedChanged="ckb1_CheckedChanged" />
只有在我点击按钮时才会触发
正如我所说,这是因为默认情况下Button
AutoPostBack
属性为true
,因此在您选中CheckBox
然后单击按钮后, CheckBox
状态会自动回发到服务器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.