0
我使用模型綁定對一個帶有單個int主鍵的表進行GridView。ASP.NET模型綁定:UpdateMethod沒有接收到數據密鑰
<asp:GridView ID="gvTimesheet" runat="server" AutoGenerateColumns="false"
ItemType="BO.TimeSheet" AutoGenerateEditButton="true" AutoGenerateDeleteButton="true"
DataKeyNames="TimeSheetID"
SelectMethod="gvTimesheet_GetData" UpdateMethod="gvTimesheet_UpdateItem"
OnRowDataBound="gvTimesheet_RowDataBound">
<Columns>
... // Note: TimeSheetID is NOT one of the columns here
的SelectMethod工作正常,但UpdateMethod
public void gvTimesheet_UpdateItem(int TimeSheetID) {
總是獲取ID值0。參數的名稱與DataKeyNames相匹配,它正確匹配鍵的模型對象的屬性。一切看起來正確。
我試着將密鑰添加爲不可見的BoundField,但是沒有任何區別,所以我刪除了它。它應該在DataKeyNames中就足夠了。
(該處理器的RowDataBound只是填充一對夫婦其他一些領域DropDownLists /組合框的,不與密鑰ID做任何事情任何責任。)
什麼使鍵值無法在UpdateMethod露面?