簡體   English   中英

在ASP.NET MVC2中使用具有部分視圖的模型的正確方法是什么?

[英]what is the correct way of using Models with Partial Views in ASP.NET MVC2?

我對MVC很陌生,但現在對模式非常滿意,特別是發現ViewModels是控制器和視圖之間的絕佳橋梁。

但是,我現在將不得不使用部分視圖,並且有點困惑。

需求

好的,在Wire Frames中我們有許多不同的頁面,但它們共享一個共同的“網格”。

網格將是部分視圖,並將始終呈現/使用/操作相同類型的數據。

問題

因此,包含局部視圖的主視圖將具有不同的模型...因此如何在局部視圖中處理模型。

是否所有使用該特定部分視圖的視圖模型都將部分視圖的嵌套模型作為屬性?

這里最好的做法是什么?

很酷,歡呼

我發現當我將Partial組合在一起時,如果我考慮那個Partial的模型將會是什么,這會有很大的幫助。 我幾乎總是發現,如果我花點時間考慮一下,部分的可重用性會增加很多。

Partial通常應該使用整個View模型中的一些自然子集或數據變體。 當你開始創建一個Partial時,不得不過多考慮“我應該使用什么模型”,這通常表明你應該創建一個不同的部分,而不是試圖重用一個部分。

如果您不得不為Partial重新構建一個新模型,我認為問題可能是您的整個View模型沒有涵蓋您需要的所有內容。

盡管如此; 很多時候我有一個使用模型的Partial,它似乎與整個View模型分開。 但大多數情況下,這些模型是新的/空對象 - 不是那些需要實例化並具有屬性設置的對象等(這通常發生在與Ajax相關的更新中使用的Partial)

請注意,MVC2也有這方面的東西; Html.RenderAction()允許您調用一個全新的Action(它有自己的Model)並在當前View中呈現它。 我試圖避免需要使用它,我自己,實際上...但對我來說,比試圖為部分創建一些新模型或在當前ViewModel中添加非自然信息感覺更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM