2011-08-13 61 views
0

我想弄清楚如何在我的項目中組織我的部分視圖。有些人說用局部視圖的名稱前面加上_,但是如果可以直接調用視圖,則會在控制器中產生奇怪的命名操作。如何組織ASP.NET MVC3中的部分視圖

另外,如果視圖在某些情況下可以是局部視圖,而在其他情況下是常規視圖,應該怎麼辦?

一個常見的例子是我嵌入到一些頁面中搜索我的應用中的用戶的搜索視圖,但我也有一個加載相同視圖的搜索頁面。我想我可以爲嵌入部分視圖的搜索頁面創建第二個視圖。只是想知道別人在做什麼。

回答

2

老實說這是一個偏好問題。您應該在您的應用程序中執行任何有關避免代碼(或視圖)重複等方面的工作。

我們(我是開發MVC團隊的開發人員)推薦在部分視圖文件名前加上下劃線在文件中VS

尋找
+0

對於通過動作加載的部分視圖,你該怎麼做?你是否用下劃線命名動作? –

+0

不,因爲它通過缺省路由配置中的URL表示。但是你應該記住,你總是可以通過在特定視圖名稱到'查看()'或'PartialView()'方法。巡視動作名稱和視圖名稱不必完美匹配。 – marcind

+0

除了通過在視圖的名稱,你也可以只延長視圖引擎爲你做這個:http://stackoverflow.com/a/10692237/32238(添加「_」公約諧音,但不需要將字符串傳遞給View/PartialView方法)。 –

0

時,我也用我的諧音以下劃線作爲前綴輕鬆視圖和管理文件時的局部視圖區分完全和局部視圖之間更容易區分。隨着您的項目變得更大,您可能需要爲單個控制器準備大量文件,因此這個約定會對您有所幫助。

public ActionResult MyPartialAsAView() 
{ 
    // your code 
    return View("_myPartialView"); 
} 

你要記住,如果你使用的是局部的視圖,您應該佈局分配給它: 此外,當您使用的局部視圖,你可以使用下面的調用與動作你的看法取決於部分工作的模式(作爲視圖或局部視圖),例如在模型類上使用布爾屬性。

相關問題