点击时OnCheckedChanged没有触发

时间:2014-09-02 06:59:38

标签: c# asp.net oncheckedchanged

我试图在itemtemplate中运行我的OnCheckedChanged,但它没有触发。我做的是在asp:CheckBox标签中输入OnCheckChanged,并手动输入整个方法。这会影响过程吗?

 <asp:CheckBox runat="server" ID="uoCheckBoxTagtoVehicle" OnCheckedChanged="ChkChanged" AutoPostBack="true" Width="50px"   />

和我的活动:

protected void ChkChanged(object sender, EventArgs e)
{
    uoHiddenFieldVehicle.Value = "1";
}

注意:我使用的是Visual Studio 2008

2 个答案:

答案 0 :(得分:1)

也许您在回发时也是对数据页面进行数据绑定。你应该只这样做......

if(!IsPostBack)
{
    DataBindPage(); // method which databinds your controls like GridView
}

否则会阻止触发事件。

答案 1 :(得分:1)

由于你的控件在GridView中(因为你说我认为你做了ItemTemplate),你不能像你那样使用你的方法来附加事件。因为填充GridView后会有多个复选框。因此,请执行以下操作

  1. 在GridView的DataBinding事件中,按ID查找CheckBox(使用FindControl方法)
  2. 然后将事件OnCheckedChanged附加到您已编写的方法