January 12, 2009

GridView的RowCommand事件

在GridView觸發RowCommand事件時,由System.Web.UI.WebControls.GridViewEditEventArgs可取得觸發事件的來源物件及其CommandName,如下code snippet
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GridView1.RowCommand
    Select Case e.CommandName
        Case "EditItem"
            '執行按下自訂編輯按鈕的動作
        Case "DeleteItem"
            '執行按下自訂刪除按鈕的動作
        Case Else
            Throw New Exception("沒這CommandName")
    End Select11
End Sub
經測試,CommandName是有幾個特定預設值的,如"Edit"、"Delete"、"Update"、"Cancel"、"New"、"Select"、"Page"。
其中"Edit"、"Delete"、"Update"、"Cancel"、"Page"還會觸發特定事件,如RowEditing、RowDeleting、RowUpdating。
所以如果是使用自訂按鈕做類似的動作處理時,請避免設定與系統預設相同的CommandName,以免造成不可預期的結果。

No comments: