我想添加主题到我的网站,将使用完全不同的视图。我希望看到他们在我的项目是这样的:asp.net mvc 3,主题(不同视图)
Views/Theme1/...
Views/Theme2/...
,而不是默认
Views/...
堂妹和我需要一个简单的方法在它们之间进行切换。
所以问题是:我如何让ViewEngine在提到的特定位置查找视图,例如,在web.config中?
新增
解决基本问题,这一点,THX到阿尔奇尔:
public class ThemedRazorViewEngine : RazorViewEngine
{
public ThemedRazorViewEngine(string themeName)
{
MasterLocationFormats = new string[] { "~/Views/" + themeName + "/Shared/{0}.cshtml" };
PartialViewLocationFormats = new string[] { "~/Views/" + themeName + "/{1}/{0}.cshtml" };
ViewLocationFormats = new string[] { "~/Views/" + themeName + "/{1}/{0}.cshtml" };
}
}
一切都不错,但 “右键 - >去查看” 不工作的话(侧效果,没什么大不了的)。
现在我想出了另一个问题:在网站上我们有管理小组应该是独立于主题的。我该如何解决这个问题?有这样的事情:
Views/Admin/...
Views/Theme1/...
Views/Theme2/...
thx,它的工作。必须修复'_ViewStart'文件。这些地区是什么?它的工作原理没有改变。是否有可能通过此解决方案进行“右键单击 - >去查看”工作? – Wonder 2012-01-30 18:57:57
@想知道如果这对你有帮助,你应该考虑将它标记为答案。看看这个链接的区域 - http://msdn.microsoft.com/en-us/library/ie/ee671793.aspx – archil 2012-01-31 10:18:51