我想添加主題到我的網站,將使用完全不同的視圖。我希望看到他們在我的項目是這樣的: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