【问题标题】:OnCheckedChanged not firing when clicked单击时 OnCheckedChanged 未触发
【发布时间】:2014-09-02 06:59:37
【问题描述】:

我正在尝试在项目模板中运行我的 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

【问题讨论】:

  • 您是在 updatepanel 中使用网格还是不使用 updatepanel?

标签: c# asp.net oncheckedchanged


【解决方案1】:

由于您的控件位于 GridView 内(因为您说 ItemTemplate 我假设您这样做了),所以您不能像以前那样使用您的方法来附加事件。因为一旦填充了 GridView,就会有多个复选框。因此,请执行以下操作

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

【讨论】:

    【解决方案2】:

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

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

    否则,您会阻止触发事件。

    【讨论】:

      猜你喜欢
      • 2021-03-14
      • 2011-09-29
      • 2013-02-21
      • 1970-01-01
      • 2010-09-27
      • 2019-04-13
      • 2016-04-13
      • 1970-01-01
      • 2011-08-25
      相关资源
      最近更新 更多