我需要根據我保存的用戶類型顯示不同的表單域。ASP.Net MVC:如何重新使用不同模型的視圖和部分?
我有一些用戶類型和一些用戶類型具有相同的數據,所以你可以想象以下(與很多更多類型的潛力):
- 類型A:產品名稱,密碼等,LinkedToLegacySystemA,LegacySystemAUserId
- 的TypeB:名稱,密碼等,LinkedToLegacySystemB,LegacySystemBUserId
- TypeC:名稱,密碼等,LinkedToLegacySystemC,LegacySystemCUserId,LegacySystemCAdminLevel
當我創建一個新用戶時,我可能在任何這些系統的上下文中,但我確切知道我連接的是哪個系統(每種類型的用戶都有一個特定的CRUD控制器),但我想共享視圖(如果可能的話)。所以我有這樣的:TypeAUserController,TypeBUserController,TypeCUserController,每個都有自己的創建,檢索,更新和刪除獲取/發佈操作。
所以最基本的問題是「如何重新使用視圖來顯示每個用戶的創建?」
編輯: 爲了進一步說明,每個用戶都有共享信息,這是我想共享的視圖。我迄今爲止提出的想法假定模型之間的差異將被局部地包含,並且每個潛在模型都有自己的觀點。因此,我們針對用戶上的每個CRUD操作查看單個頁面級模型,然後針對每個封裝差異的子模型查看單個子模型。 由於下面列出的原因,這不是一個好方法。
很難說你的模糊程度如何。視圖應該強制輸入到你的模型中。如果你有不同的型號,你應該有不同的看法。但是,您始終可以擁有包含所有這些視圖的視圖模型。你可以擁有一個所有視圖模型繼承的基類,然後使用EditorTemplates來渲染特定的類型。但是,所有這些都有你需要處理的各種問題。 – 2014-11-04 20:09:57
是的,我爲自己的頭腦風暴添加了自己的答案。他們符合你的建議,你是對的,他們每個人都有自己的問題:( – 2014-11-04 20:26:58