如何找到网格视图按钮单击事件?

Jag*_*B S 3 asp.net c#-4.0

Button btnAddrecord = (Button)sender;
GridViewRow gvr =(GridViewRow)btnAddrecord.NamingContainer;
if (btnAddrecord.CommandName == "onAddMaterial")
Run Code Online (Sandbox Code Playgroud)

Kar*_*son 5

在网格视图标记中定义按钮并CommandName为按钮分配一个值,如下所示:

<asp:GridView ID="GridView1" AutoGenerateColumns="False" runat="server"  
        OnRowCommand="GridView1_RowCommand">
    <Columns>
        <asp:TemplateField HeaderText="Add Record">
            <ItemTemplate>
                <asp:Button ID="btnAddRecord"  
                            CommandArgument="<%# ((GridViewRow)Container).RowIndex %>" 
                            CommandName="AddRecord" runat="server" Text="Add" />
            </ItemTemplate>
        </asp:TemplateField> 
    </Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

现在在您的代码隐藏中,您可以处理OnRowCommand事件和AddRecord命令,如下所示:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "AddRecord")
    {
        // Get index of row passed as command argument
        int index = Convert.ToInt32(e.CommandArgument.ToString());

        // Your logic here
    }
}
Run Code Online (Sandbox Code Playgroud)