2011-01-31 172 views
3

我有一個gridview。標記是這樣的......更新按鈕觸發編輯事件處理程序

<asp:GridView ID="gvwServers" runat="server" class="gvwServers" 
AutoGenerateColumns="false" OnRowEditing="gvwServers_Edit" 
onrowcancelingedit="gvwServers_Cancelling" onrowdeleting="gvwServers_Deleting" 
onrowupdated="gvwServers_Updated" onrowupdating="gvwServers_Updating" 
AutoGenerateEditButton=true AutoGenerateDeleteButton=true> 

    <columns> 
    <asp:CommandField ButtonType="Button" EditText="Edit" ShowEditButton="true" /> 
    <asp:CommandField ButtonType="Button" EditText="Delete" ShowDeleteButton="true" /> 

    ...Bound fields and template fields etc... 

我的代碼隱藏有這個...

protected void gvwServers_Edit(object sender, GridViewEditEventArgs e) 
{ 
    gvwServers.EditIndex = e.NewEditIndex; 
    gvwServers.DataBind(); 
} 
protected void gvwServers_Updated(object sender, GridViewUpdatedEventArgs e) 
{ 
    gvwServers.DataBind(); 
} 

protected void gvwServers_Updating(object sender, GridViewUpdateEventArgs e) 
{ 
    gvwServers.DataBind(); 
} 
protected void gvwServers_Deleting(object sender, GridViewDeleteEventArgs e) 
{ 
    gvwServers.DataBind(); 
} 
protected void gvwServers_Cancelling(object sender, GridViewCancelEditEventArgs e) 
{ 
    e.Cancel = true; 
    gvwServers.EditIndex = -1; 
    gvwServers.DataBind(); 
} 

的事情是,大多數這些例程火災的正確即編輯,刪除,取消。 除了當我點擊更新按鈕,gvwServers_Edit()火災。這是爲什麼發生?如何使更新按鈕點擊火gvwServers_Updating()

更新:我的問題已解決here

回答

0

您可以隨時重新映射事件到功能..

差不多嘛......「編輯」事件只能映射到具有(object sender, GridViewCancelEditEventArgs e)一個函數作爲參數,可以同樣更新功能必須(object sender, GridViewUpdatedEventArgs e) PARAMS ...

您可以使用預先創建的事件處理函數或製作自己的函數,而關鍵字是'e'參數類型。

如果您希望Edit()和Updating()事件具有通用功能,請將該代碼放入由處理程序在這些事件觸發時調用的單獨函數中。

+0

不是說`onrowupdating =「gvwServers_Updating」`並定義函數`gvwServers_Updating(object sender,GridViewUpdateEventArgs e)`將事件映射到函數?我不明白爲什麼`gvwServers_Edit`功能點擊更新時觸發。 – 2011-01-31 20:36:54

相關問題