2008-12-29 60 views
3

我使用ObjectDataSource將數據綁定到GridView;它工作正常,除了它總是創建一個新的對象用作數據源。我可以完成所有設置,但我無法使用現有對象的實例將其指定爲「數據源」。是否有可能做到這一點?如果是這樣,怎麼樣?ASP.NET 2.0:爲ObjectDataSource指定對象的一個​​實例

如果這是不可能的,爲什麼?

編輯:這裏是發生了什麼事情(對象類型更改)的要點:在第一頁上,您正在編輯一隻狗的屬性。其中一個屬性是「有小狗」,如果它是真的,則在下一頁指定這些小狗的名字。我的情況是,這些小狗沒有與原來的狗聯繫在一起,而是與一隻「新」狗聯繫在一起。 (這意味着我的問題是「女性狗」是巧合的; ;-))

回答

8

爲ObjectDataSource上的ObjectCreating事件創建一個事件處理程序。

您可以將實例分配給使用ObjectDataSourceEventArgs財產

protected void ObjectDataSource1_ObjectCreating(object sender, ObjectDataSourceEventArgs e) 
{ 
    e.ObjectInstance = myObject; 
} 

線這個事件了在標記過

<asp:ObjectDataSource OnObjectCreating="ObjectDataSource1_ObjectCreating" /> 
0

因爲我剛剛發現in my own question這裏,應用程序緩存中存儲的項目將作爲參考供其使用。您可以考慮將數據存儲在那裏(或者可能在會話中),並以這種方式傳遞項目。

+0

我想使用的對象是在會話。你知道我該如何指定該對象作爲我的ObjectDataSource的源代碼? – 2008-12-29 18:20:12

+0

只需將會話對象包裝在直接強制轉換語句中即可指定該項目的格式。在VB.net中,沿着MyObjectDataSource = DirectCast(Session(「MyStoredData」),DataTable)行的東西 – 2008-12-29 18:26:19

相關問題