我有一个标准的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