2012-06-04 27 views
0

我在ASP.Net Webform上有一個FormView和一個ObjectDataSource。使用ASP.NET FormView在混合數據源上顯示和更新

現在,我想顯示並允許編輯是如下數據:

獨特的方式來訪問所有這些屬性:組織ID

公司從DB LDAP服務器從/到DB,KeyValuePair-like表 域名從/到DB,類似於KeyValuePair的表 從/到DB使用DHCP,KeyValuePair-like表自/至WMI實用工具類IP地址,在DB沒有存儲 子網掩碼自/至WMI實用工具類,在DB

沒有儲存所以,我需要以某種方式創建一個類型的實體... umm ... SystemSetting在運行時並將其提供給ObjectDataSource,它將負責FormView食物來源。編輯時,我需要切換到編輯模式,更新後,我需要檢索值/ SystemSetting實體並手動將值分配到各自的位置。

現在我永遠不會創建一個新的實體。它始終顯示和更新。而且總有一個實體。

這就是理論。任何快速指針?謝謝。

回答

1

最簡單的解決方法就是建立一個SystemSetting類你所提到的類型的公共自動屬性,然後進行List<SystemSetting>出來,和飼料,爲的ObjectDataSource(如果你的表沒有一個固定的長度,然後使用foreach循環在DataBinding事件中爲它們添加控件)。

在編輯時,如果您的表格具有固定長度,那麼只需雙向綁定所有數據並設置完畢,您將自動獲取更新SystemSetting類的更新方法ObjectDataSource

如果不是,那麼只需自己處理更新事件(指定ObjectDataSource的幻像更新方法並立即取消它),逐個讀取輸入字段(將它們分組在每個表的單獨容器中,或讓它們共享一個ID的前綴或後綴,所以你知道它們屬於哪裏),並將值分派到它們各自的位置。

您必須提供一些更多詳細信息或更好的代碼示例,以獲得更完整的解決方案。

+0

哦,好的!我確實已經創建了'SystemSetting'類和'SystemSettingList'類。 'SystemSettingList'繼承了'List '。儘管在SystemSettingList中總是會有一個'SystemSetting',但我想爲了正確的數據綁定。 – DoomerDGR8

+0

@HassanGulzar:是的,這是它的唯一原因... –

+0

它工作得很漂亮。謝謝。 – DoomerDGR8