一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

也玩MVC3.0 Razor自定義視圖引擎來修改默認的Views目錄結構

剛剛愛上MVC3.0,幾個不眠夜的學習越來越有趣。今天隨手嘗試自定義Mvc3.0的視圖引擎,雖然已成功,但是還發現有點小疑問。隨手貼出來希望大家指教指教。

MVC的視圖文件目錄被固定/Views目錄內,區域視圖文件也是被固定在/Areas目錄下,出于好奇和對目錄名的敏感,嘗試修改它。通過reflector找到視圖引擎的構造接口類VirtualPathProviderViewEngine

在MVC2.0中,自定義自己的視圖引擎,繼承它即可,但在3.0中,我發現繼承它會缺少一個函數。再reflector獲得了BuildManagerViewEngine的抽象類,因為RazorViewEngine繼承的是該抽象類。

所以最直接還是在自己的視圖引擎中繼承它。

public class myViewEngine : BuildManagerViewEngine    {        // Fields        internal static readonly string ViewStartFileName = "_ViewStart";        // Methods        public myViewEngine()            : this(null)        {        }        public myViewEngine(IViewPageActivator viewPageActivator)            : base(viewPageActivator)        {            base.AreaViewLocationFormats = new string[] { "~/Areas/{2}/Views/{1}/{0}.cshtml", "~/Areas/{2}/Views/{1}/{0}.vbhtml", "~/Areas/{2}/Views/Shared/{0}.cshtml", "~/Areas/{2}/Views/Shared/{0}.vbhtml" };            base.AreaMasterLocationFormats = new string[] { "~/Areas/{2}/Views/{1}/{0}.cshtml", "~/Areas/{2}/Views/{1}/{0}.vbhtml", "~/Areas/{2}/Views/Shared/{0}.cshtml", "~/Areas/{2}/Views/Shared/{0}.vbhtml" };            base.AreaPartialViewLocationFormats = new string[] { "~/Areas/{2}/Views/{1}/{0}.cshtml", "~/Areas/{2}/Views/{1}/{0}.vbhtml", "~/Areas/{2}/Views/Shared/{0}.cshtml", "~/Areas/{2}/Views/Shared/{0}.vbhtml" };            base.ViewLocationFormats = new string[] { "~/T/{1}/{0}.cshtml",  "~/T/Shared/{0}.cshtml" };            base.MasterLocationFormats = new string[] { "~/T/{1}/{0}.cshtml",  "~/T/Shared/{0}.cshtml" };            base.PartialViewLocationFormats = new string[] { "~/T/{1}/{0}.cshtml",  "~/T/Shared/{0}.cshtml" };            base.FileExtensions = new string[] { "cshtml", "vbhtml" };        }        protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)        {            string layoutPath = null;            bool runViewStartPages = false;            IEnumerable<string> fileExtensions = base.FileExtensions;            return new RazorView(controllerContext, partialPath, layoutPath, runViewStartPages, fileExtensions, base.ViewPageActivator);        }        protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)        {            string layoutPath = masterPath;            bool runViewStartPages = true;            IEnumerable<string> fileExtensions = base.FileExtensions;            return new RazorView(controllerContext, viewPath, layoutPath, runViewStartPages, fileExtensions, base.ViewPageActivator);        }    }

NET技術也玩MVC3.0 Razor自定義視圖引擎來修改默認的Views目錄結構,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 四虎国产永久免费久久 | 欧美专区一区二区三区 | 国产成人免费高清激情明星 | 欧美激情伊人 | 91福利在线看 | 男女免费爽爽爽在线视频 | 国产综合色精品一区二区三区 | 88av在线看| 天天色天天射天天干 | 欧美黄色第一页 | 狠狠做久久深爱婷婷97动漫 | 97午夜精品| 亚洲热热久久九九精品 | 一区二区三区美女视频 | 91香蕉国产亚洲一二三区 | 久久综合一区 | 国产成人亚洲精品乱码在线观看 | 国产激情在线观看 | 精品视频在线播放 | 色吧在线视频 | 成年美女黄网站色大 | 亚洲天砖砖区免费 | 91亚洲成人 | 五月激情婷婷网 | 色综合网站在线 | 日韩一区国产二区欧美三区 | 精品视频在线免费观看 | 伊人小婷婷色香综合缴缴情 | 四虎精品视频在线永久免费观看 | 国产在线综合网 | 麻豆91精品91久久久 | 视频福利在线 | 色综合久久婷婷天天 | 日韩激情视频在线观看 | 久久亚洲精品无码观看不卡 | 成人免费大片a毛片 | 伊人久久影院大香线蕉 | 精品久久久一二三区 | 久久网国产 | 亚洲人体一区 | 91在线欧美精品观看 |