2
我正在開發asp.net mvc2。我開始創建很多觀點和部分視圖,其中大部分我必須創建一個視圖模型。這看起來很快,要記住什麼樣的觀點與什麼模式有關,將變得難以管理。我試圖儘可能地在我的視圖模型中使用繼承。如何組織視圖,局部視圖及其視圖模型?
我想知道別人如何在他們的項目中管理這個?
我正在開發asp.net mvc2。我開始創建很多觀點和部分視圖,其中大部分我必須創建一個視圖模型。這看起來很快,要記住什麼樣的觀點與什麼模式有關,將變得難以管理。我試圖儘可能地在我的視圖模型中使用繼承。如何組織視圖,局部視圖及其視圖模型?
我想知道別人如何在他們的項目中管理這個?
我將我的PV放置在Views文件夾中的PV文件夾中。
so Views/Home/PartialViews
;
然後我在我的global.asax文件中註冊該路徑;
public static void RegisterViewEngine()
{
ViewEngines.Engines.Clear();
WebFormViewEngine viewEngine = new WebFormViewEngine();
viewEngine.PartialViewLocationFormats = (new[] {
"~/Views/Shared/PartialViews/{0}.ascx",
"~/Views/{1}/PartialViews/{0}.ascx"
}).Concat(viewEngine.PartialViewLocationFormats).ToArray();
ViewEngines.Engines.Add(viewEngine);
}
我也傾向於將FormViewModels放在視圖文件夾中。
/Views/Home/IndexFormViewModel.cs
以上是最近的,因爲這我把它們放在一個模型項目,但有時也會發現,我可以用我的模型和DataRepository一個循環引用情況結束之前。
手動註冊部分視圖有什麼好處? – Roman 2010-09-06 05:41:54
你不是。您正在將位置註冊到PartialViews。在上面的代碼中,{1}是指像/ Home或/ ContactMe等視圖。然後,您可以將PV放在PartialViews文件夾中,而不必在視圖中的路徑中編碼。這是個好消息,因爲您可以將PV從/ home/PartialViews文件夾拖到Shared/PartialViews文件夾,而不必更改任何代碼。 – griegs 2010-09-06 05:53:55
我應該補充說,你不要在「〜/ Views/Home/PartialViews/MyPV.ascx」中編碼。您按原樣編碼「〜/ Views/{1}/PartialViews/{0} .ascx」 。 – griegs 2010-09-06 05:57:53