2011-03-30 37 views
8

是否可以配置Razor以查找名稱不是_ViewStart.cshtml以外的「主」佈局文件?我的意思是,沒有明確地設置內容模板中的Layout屬性。重命名_ViewStart.cshtml

在我正在進行的項目中,每個area都有自己的_ViewStart.cshtml。在他們之上有一個「全球」_ViewStart.cshtml。這工作正常,但我認爲如果我可以爲每個主模板分配不同的名稱會更方便,如調用「全局」模板_GlobalViewStart.cshtml。這樣,在Visual Studio功能區中打開許多文件時,查找每個文件將變得更加容易。 (傻了嗎?也許吧。)

如果可能的話,怎麼可以做到?

謝謝。

+1

爲什麼需要這個?你的場景是什麼?無論你的最終目標是什麼,有一個更好的方法來實現它。 – 2011-03-30 18:00:01

+0

是的,我想知道我自己 – Buildstarted 2011-03-30 18:03:21

+0

編輯澄清。 – Humberto 2011-03-30 18:14:50

回答

11

它被硬編碼在RazorViewEngine作爲「_ViewStart」,所以我懷疑它,除非你編譯自己的版本。

public class RazorViewEngine : BuildManagerViewEngine { 
    internal static readonly string ViewStartFileName = "_ViewStart"; 
} 

你可以定義你自己的基本觀點,即改變佈局,以任何你想要的,所以你不必修改每個視圖。

+0

我很想過,有一些web.config調整。但是我可以活下去,謝謝。 – Humberto 2011-03-30 18:16:54

+0

你總是可以用反射來改變它:P – bevacqua 2011-10-23 13:52:12

0

如果您的目標是更容易發現它們,那麼您可以使用另一種方法來區分不同區域中的其他事物。 Microsoft發佈了一個名爲Productivity Power Tools的工具,該工具爲Visual Studio添加了一些功能。 (我已經看到,Visual Studio 2011將具有其某些功能。)

我最喜歡的功能之一是能夠根據文件選項卡的名稱或路徑爲文檔選項卡分配不同的顏色。 從上面的URL安裝後,進入選項 - >生產力電動工具 - >文檔標籤,然後點擊高級選項按鈕,然後確保選中「使用正式表達式匹配的全文檔映射」複選框。 然後,您可以定義在選項 - >產品電動工具 - >文檔選項卡 - >顏色編碼中爲每個常規表達顯示什麼顏色 - >顏色編碼

1

嗯,只是說,但並不是_ViewStart的整點,它的一個定義所有頁面設置的中心位置(在該區域)。請注意,這並不意味着它是一個母版頁。

通常你會指定在_ViewStart區域的默認母版,默認情況下這是_layout(這是你的母版)