我有一個標準的ASP.NET MVC3應用程序。在_ViewStart.cshtml中,我曾經有:從另一個文件指定佈局導致編譯錯誤(ASP.NET MVC3/Razor)
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
一切正常,生活很好。現在,我想將佈局移動到可在運行時修改的目錄中;是這樣的:
@{
Layout = "~/Content/Themes/" + SomeClass.FolderName + "_/Layout.cshtml";
}
(如果可能我會叫我的代碼SomeClass.FolderName = "blah"
)
粘貼的老Shared/_Layout.cshtml
進入副本由SomeClass.FolderName
指定的目錄中不幸給了我幾個編譯錯誤,如ViewBag
, Url
和Html
不存在(但奇怪的是,User.Identity
仍然可以訪問)。
我錯過了什麼,我該如何做這項工作?
編輯:基於this question,我貼我的web.config從/瀏覽次數進入的目錄,它似乎工作 - 但所引用的CSS文件給了我一個404(例如{} SomeClass.FolderName /的site.css)。
有一個具體錯誤:'名稱'ViewBag'在當前上下文中不存在' – ashes999 2011-05-22 12:33:38