0

我正在尝试在 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

4

2 回答 2

1

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

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

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

于 2014-09-02T07:07:25.813 回答
1

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

  1. 在您的 GridView 的 DataBinding 事件中,按 ID 查找 CheckBox(使用 FindControl 方法)
  2. 然后将事件 OnCheckedChanged 附加到您编写的方法中
于 2014-09-02T07:45:04.227 回答