刪除參數這裏的設置從DetailsView控件ItemUpdating
- 我有一個
DetailsView
,其DataSource
是ObjectDataSource
。 ObjectDataSource
有兩種方法,select和update,它們是在TableAdapter
中定義的存儲過程。Select
存儲過程需要1個參數 - 記錄ID - 並返回DetailsView
中填充的字段。Update
存儲過程需要三個參數 - 記錄標識和兩個數據字段。
選擇過程正常。
然而,當我提交了更新,我得到以下錯誤:
ObjectDataSource
could not find a non-generic methodUpdate
that has parameters: [all 21 table columns]
我想只傳遞給Update
存儲過程(3)必要的字段,但DetailsView
顯然是想使用從Select
收到的所有字段進行更新。
我知道,我可以從DetailsViewUpdateEventArgs
訪問NewValues
收藏,但我沒有看到一個方法來去除任何的參數,以便它們匹配在存儲過程的定義,TableAdapter
和ObjectDataSource
。
任何想法?
好的,我們正朝着正確的方向前進。在Aaron鏈接到的教程中,我發現: 「爲了確保ObjectDataSource調用[正確] UpdateProduct重載...我們需要限制GridView具有僅用於ProductName和UnitPrice的可編輯字段。通過刪除其他BoundFields和CheckBoxFields,通過將其他字段的ReadOnly屬性設置爲true或通過兩者的某種組合來完成。「 – dneaster3 2010-02-23 17:27:24
現在的問題是,我的DetailsView中的所有字段都是TemplateFields,並且它們沒有ReadOnly屬性。只是刪除EditItemTemplate不起作用,在這種情況下,我不能在DetailsViewMode.Edit中完全刪除這些字段。所以雖然我對這個過程有了更多的瞭解,但我還是沒有說服.NET使用正確的更新方法。 – dneaster3 2010-02-23 17:30:58