簡體   English   中英

在ASP.NET GridView控件中未觸發按鈕單擊事件

[英]Button click event is not firing in asp.net gridview control

 <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添加為Button,但未觸發onclick事件。

有人可以建議我嗎?

不要DataBind使用它在每一個回傳Page.IsPostBack屬性,例如在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中的代碼OnRowCommand實現這樣。

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

希望這能解決您的問題。

-Harsha Ch

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM