我有一個ASP.NET GridView顯示鄰居列表。ASP.NET GridView - 如何執行自定義更新語句?
我希望用戶(管理員)能夠編輯鄰居名稱。
現在,數據庫是相當複雜的,因此,我不能簡單地爲GridView提供一個UpdateCommand/SqlDataSource。
我手動綁定數據(在第一次加載時和在PageIndexChanging事件中)。
綁定/列表分頁數據工作正常。
但是,我無法嘗試更新數據。
用戶單擊「編輯」按鈕,顯示鄰居名稱的文本框,我更改文本,單擊「更新」,但RowUpdating事件未觸發。
我基本上想要抓住已編輯的行,並使用LINQ執行自定義更新。
這不可能與一個GridView?如果不是,我的替代品是什麼?一個帶LinkButtons的中繼器和一個隱藏文本框,可以交換標籤嗎?
這是我的GridView的標記:
<asp:GridView ID="NeighborhoodsGrid"
AllowPaging="true"
PageSize="10"
AutoGenerateColumns="false"
EnableViewState="false"
OnPageIndexChanging="NeighborhoodsGridPageIndexChanging"
OnRowDataBound="NeighborhoodsGridRowDataBound"
OnRowEditing="NeighborhoodsGridRowEditing"
OnRowCancelingEdit="NeighborhoodsGridRowCancellingEdit"
OnRowUpdating="NeighborhoodsGridRowUpdating"
AutoGenerateEditButton="true"
runat="server">
和代碼隱藏:
protected void NeighborhoodsGridRowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow updatedRow = NeighborhoodsGrid.Rows[e.RowIndex]; // not firing. =(
}
我也有包裝在一個UpdatePanel GridView的,如果有什麼差別(不要以爲這應該)。
任何想法或替代建議?
BOOM !! Viewstate爆炸。好東西有MVC! – 2010-09-21 04:06:01
=)地獄是的,這是一個ASP.NET Web窗體應用程序的管理頁面,所以我「屈服於」拖放地獄。 =)我們正在重寫網站tho - MVC FTW。 – RPM1984 2010-09-21 04:12:59