【问题标题】:My checkbox on the gridview doesn't trigger an event我在 gridview 上的复选框不会触发事件
【发布时间】:2012-07-28 03:43:58
【问题描述】:

我用这段代码创建了带有复选框的gridview。

<asp:GridView ID="GridView1" runat="server" Width="366px" autogeneratecolumn="false">
        <Columns>
            <asp:TemplateField>
                <HeaderTemplate>
                    <asp:CheckBox ID="SelectAllCheckBox" runat="server" AutoPostBack="true" oncheckedchanged="SelectAllCheckBox_OnCheckedChanged" />
                </HeaderTemplate>
                <ItemTemplate>
                    <asp:CheckBox ID="EachCheckBox" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

我尝试选中/取消选中它。 enter link description here

protected void SelectAllCheckBox_OnCheckedChanged(object sender, EventArgs e)
    {
        String test = "test";
        test = "newtest";
        GridView1.DataSource = null;
        GridView1.DataBind();
    }

但它不会触发任何事件。 enter link description here

到目前为止,我正在尝试查找我的代码丢失的位置并进行了搜索,但仍然无法找到。

感谢您的帮助!

【问题讨论】:

  • 你的代码没问题,对我有用。你能发布你填充GridView1的方式吗?如果在每次回发时都重新填充 - 它将阻止处理 CheckedChanged 事件。

标签: c# asp.net events gridview checkbox


【解决方案1】:

您必须使用 OnItemCreated 或 OnItemDataBound 并将您的复选框与您的委托链接

   void Item_Created(Object sender, DataGridItemEventArgs e) 
   {

      CheckBox cbx = (CheckBox)e.Item.FindControl("SelectAllCheckBox");
      cbx.CheckedChanged += SelectAllCheckBox_OnCheckedChanged;

   }

【讨论】:

    【解决方案2】:

    代码看起来不错,适合我。

    我怀疑您可能会在每次回发时绑定 GridView。

    当您单击附加了事件的 CheckBox 时,会导致页面刷新。如果您在 Page_Load 上绑定 CheckBox(或在每次访问服务器时发生的任何方法),它会在您每次单击 CheckBox 时绑定网格。在这种情况下,它永远不会触发您的事件。

    如果是这样,请在绑定 GridView 之前尝试检查回发。

    例如:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Gridview1.DataSource = myDataSource;
            GridView1.DataBind();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多