可以讓部分視圖繼承多個模型嗎?我有三個模型(聯繫人,客戶,供應商),都有地址信息(地址)。爲了實現DRY,我將地址信息拖入自己的模型地址中。我創建了地址的部分創建/更新視圖,以及在其他三個模型的其他創建/更新視圖中呈現的內容。ASP.NET MVC通用部分
0
A
回答
2
而不是使用複合視圖模型,您仍然可以幹,並有三個視圖(聯繫人,客戶端,供應商)。如果您擔心在顯示地址信息時重複自己,請爲該類型製作顯示模板。這樣,你可以寫出所有爲每個聯繫人,客戶和供應商的具體信息,在他們自己的看法,只是在下降:
<%= Html.DisplayFor(m => m.Address) %>
您現在正幹,同時還支持單一職責原則。
有關顯示和編輯模板的更多信息,您可以查看Brad Wilson或Phil Haack的帖子。
0
0
我認爲要做到這一點的唯一方法是使用複合視圖模式(這不一定是壞事),所以像:
public class MyControllerActionViewModel
{
public IList<Contact> Contacts { get; set; }
public IList<Client> Clients { get; set; }
public IList<Vendor> Vendors { get; set; }
}
我們使用這種方法很多,以獲得更多的元素進入在需要時查看視圖,並且我發現在需要時使用這些自定義視圖模型沒有不好的做法。
希望有幫助!
相關問題
- 1. 通部分查看問題Asp.Net MVC
- 2. ASP.NET MVC子部分
- 3. ASP.Net MVC部分視圖
- 4. 部分驗證ASP.NET MVC
- 5. ASP.NET MVC的新聞部分
- 6. 部分驗證 - ASP.NET MVC 2
- 7. ASP.NET MVC 2:更新部分?
- 8. ASP.NET MVC部分控件
- 9. ASP.NET MVC通用局部視圖模式
- 10. Asp.net MVC WebGrid在部分視圖中不通過Ajax更新
- 11. asp.net mvc部署
- 12. asp.net mvc部署
- 13. ASP.NET MVC - 通過外部模型
- 14. ASP.NET MVC解析URL查詢部分
- 15. 部分視圖控制器ASP.NET MVC
- 16. ASP.NET MVC 3部分視圖未找到
- 17. ASP.NET MVC 3部分視圖模板
- 18. ASP.NET MVC,部分視圖和數據
- 19. ASP.NET MVC - 從部分或身體
- 20. ASP.NET MVC C#Web部分丟失
- 21. ASP.NET MVC Ajax分頁與局部視圖
- 22. ASP.NET MVC。部分視圖的具體URL
- 23. Asp.net MVC。在EditorTemplate或@ Html.Action重名/部分
- 24. ASP.NET MVC 4 - 部分視圖和Ajax.Actionlink
- 25. ASP.NET MVC - 部分視圖不刷新
- 26. ASP.NET MVC 3模型的部分驗證
- 27. asp.net中的部分視圖mvc
- 28. asp.net MVC句柄部分回傳響應
- 29. ASP.NET MVC - 更新多個部分/視圖
- 30. 在asp.net MVC緩存部分景色
是不是'Html.DisplayFor()'ASP.NET MVC 2功能? – Nate 2010-05-14 15:56:50
@Nate Bross是的。 – 2010-05-14 16:00:28
很好的答案和鏈接。一定會讀它! – gnome 2010-05-14 16:40:54