處理命令事件

GridViews 允許從 GridView 行傳送命令。這對於將特定於行的資訊作為命令引數傳遞到事件處理程式非常有用。

訂閱命令事件:

<asp:GridView ID="GridView1" ... OnRowCommand="GridView1_RowCommand">

按鈕是引發命令的最常用方法。它們還支援指定命令引數的方法。在此示例中,引數是行所代表的專案的 ID

<TemplateField>
    <ItemTemplate>
        <asp:LinkButton ID="LinkButton1" runat="server"
                        CommandName="SampleCmd"
                        CommandArgument='<%# Eval("ID") %>'>
        </asp:LinkButton>
    </ItemTemplate>
</TemplateField>

或者,可以使用提供最常用命令控制元件的 CommandField 列模板。

在程式碼後面處理事件:

protected void GridView1_RowCommand(object source, GridViewCommandEventArgs e)
{
    if (e.CommandName == "SampleCmd")
    {
        var id = e.CommandArgument;
    }
}

請注意,此示例中使用的 CommandName 是任意的,並且是開發人員的選擇。但是,GridView 本身可以識別一組預定義的名稱。觸發這些命令時會引發相應的事件。

命令名稱 觸發的活動
取消 RowCancelingEdit
刪除 RowDeleting,RowDeleted
編輯 RowEditing
PageIndexChanging,PageIndexChanged
選擇 SelectedIndexChanging,SelectedIndexChanged
分類 Sorting, Sorted
更新 RowUpdating,RowUpdated