在不同的控制器之間共享視圖(使用Views/Shared文件夾)是一個好主意嗎?我正在創建我的第一個MVC應用程序,它需要一些相互類似的數據。他們「解釋」不同的事物(因此將存儲在不同的表格中),但他們都有一個ID,名稱和狀態。因此,我可以使用不同的控制器,然後使用相同的視圖在下拉列表中顯示數據,允許用戶選擇一個編輯或通過文本框添加一個新的。顯然,我失去了強類型化ViewPage數據的能力,但除此之外,這會被認爲是一個好辦法,或者我最好爲每個控制器創建一個View來使用它?共享視圖
Q
共享視圖
2
A
回答
1
與我們的項目,我們隔離大多數的對控制器的視圖並不重用其中的許多視圖,但我們確實使用了大量的用戶控件和局部視圖這樣我們就不會重複自己。這可以讓我們保留所有強類型的東西,也許它可能適合您的情況?
1
就個人而言,如果視圖的通用性足以用於多個場景,那麼我會這樣使用它。幹!
1
如果您創建自己的中間類來處理視圖數據,那麼您仍然可以在此場景中使用強類型的ViewPage。
定義自定義類視圖頁:
public class MyCustomViewData
{
public int Id {get; set;}
public string Name {get; set;}
public int Status {get; set;}
}
從自己的網頁中:
<% Html.RenderPartial("MyCustomView", new MyCustomViewData()
{
Id = ViewData.Model.SomeIdField,
Name = ViewData.Model.SomeNameField,
Status = ViewData.Model.SomeStatusField
});
或從控制器
public ActionResult Foo()
{
// get your model data
return View("MyCustomView", new MyCustomViewData()
{
Id = model.SomeIdField,
Name = model.SomeNameField,
Status = model.SomeStatusField
});
}
+0
感謝託德,我特別喜歡來自控制器的人,如果我繼續分享觀點,那麼肯定會實現這一點。 – dave 2008-12-10 00:16:54
0
如果你有一個通用的頁面格式,說一個表,那麼你可以在共享文件夾中創建一個通用視圖。此ViewData必須包含列信息以及數據,以及有關任何鏈接的一些信息。
細節並不難,如果有很多類似的頁面,它可以節省時間。
相關問題
- 1. UItableview共享視圖
- 2. 共享的共享視圖。視圖+ ViewModels或UserControls?
- 3. 共享視圖模型
- 4. 使用Nuget共享視圖
- 5. 共享數據視圖
- 6. Rails - 抽象/共享視圖
- 7. 圖片視圖共享偏好
- 8. 爲共享視圖填充模型,在另一個視圖中嵌入共享視圖
- 9. 監視Windows共享
- 10. 在Laravel 5.4的視圖中共享
- 11. 在UITabBarController視圖之間共享變量
- 12. 幾個viewmodels共享相同的視圖
- 13. 共享UIWebView的所有視圖
- 14. 在BigQuery項目之間共享視圖
- 15. 在xml視圖共享照片
- 16. ASP.NET MVC 2.0:共享視圖控制器
- 17. MVC3共享佈局 - 局部視圖
- 18. Django在視圖之間共享requests.session()
- 19. ASP.NET MVC視圖中的共享數據
- 20. 共享各種視圖/碎粒
- 21. 共享文件視圖 - 訪問控制
- 22. ViewModel跨多個視圖共享
- 23. 共享兩個視圖的datacontext
- 24. Rails在視圖之間共享javascript
- 25. 在視圖之間共享數據
- 26. 在多個視圖之間共享UIWebView?
- 27. 如何管理共享視圖?
- 28. Instagram的視頻共享Android意圖
- 29. 共享的部分視圖ActionResult問題
- 30. Couchbase視圖共享存儲桶
謝謝DaRKoN_。我在想什麼,這就是爲什麼我開始走這條路,但後來擔心我可能錯過了一些會讓我陷入困境的東西! – dave 2008-12-09 04:41:06