ash*_*999 3 layout razor asp.net-mvc-3
我有一个标准的ASP.NET MVC3应用程序.在_ViewStart.cshtml中,我曾经有过:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)
一切顺利,生活很美好.现在,我想将布局移动到可在运行时修改的目录; 就像是:
@{
Layout = "~/Content/Themes/" + SomeClass.FolderName + "_/Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)
(我可能会SomeClass.FolderName = "blah"在我的代码中调用.)
粘贴旧的副本Shared/_Layout.cshtml到由指定的目录中SomeClass.FolderName不幸给了我几个编译错误,比如ViewBag,Url和Html不存在的(但奇怪的是,User.Identity仍然是可以访问).
我错过了什么,我怎样才能做到这一点?
编辑:根据这个问题,我将我的web.config从/ Views粘贴到目录中,它似乎工作 - 但引用的CSS文件给我一个404(例如.{SomeClass.FolderName} /site.css).