在asp.net gridview控件中,按钮单击事件未触发

本文关键字:事件 单击 按钮 net asp gridview 控件 | 更新日期: 2023-09-27 18:03:31

 <asp:GridView ID="gvInaciveQuestions" runat="server" AutoGenerateColumns="False" OnRowCommand="gvInaciveQuestions_RowCommand">
            <Columns>
                <asp:TemplateField HeaderText="Selelct">
                        <ItemTemplate>
                            <asp:Button ID="btnactive" runat="server"  Text="Active" onClick="btnactive_Click" />
                        </ItemTemplate>
                    </asp:TemplateField>                   
                <asp:TemplateField HeaderText="Question">
 </asp:Gridview>

我已经添加Itemtemplate作为按钮,但它不触发onclick事件。

谁能给我推荐一下?

在asp.net gridview控件中,按钮单击事件未触发

不要在每次回发时使用Page.IsPostBack属性DataBind,例如在Page_Load(恢复您用于数据绑定的方法称为BindGridView):

protected void Page_Load(ovject sender, EventArgs e)
{
    if(!IsPostBack)
    {
        BindGridView();
    }
}

否则不会触发事件,并且网格中更改的值将被(旧的)DataSource中的值覆盖。

你不应该在这里使用onClick="btnactive_Click"事件,而应该使用CommandName属性。

<asp:Button ID="btnactive" runat="server"  Text="Active" CommandName="Click" />

在你的OnRowCommand中的代码隐藏实现如下:

 protected void gvInaciveQuestions_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                if (e.CommandName == "Click")
                {
                  //your code here
                }
            }

我希望这将解决你的问题。

- - -Harsha Ch