码迷,mamicode.com
首页 > Web开发 > 详细

mvc4根据域名切换View模板

时间:2016-07-13 06:51:49      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:

 重写模板查找方式:

public class MyRazorViewEngine : RazorViewEngine
    {
        public MyRazorViewEngine() : base()
        {

        }
        private const  string DefaultView = "~/Views/";
        private const string MoblieDomain = "m.";
        private const string WwwFolder = "~/Views/www/";
        private const string MoblieFolder = "~/Views/mobile/";

        public static string GetView(HttpRequestBase request)
        {
            if (request.Url == null) return DefaultView;
            var url = request.Url.Host;
            return url.Contains(MoblieDomain) ? MoblieFolder : WwwFolder;
        }
        string GetView(ControllerContext controllerContext)
        {
            return GetView(controllerContext.HttpContext.Request);
        }
        protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)
        {
            var views = GetView(controllerContext);
            return base.CreatePartialView(controllerContext, partialPath.Replace(DefaultView,views));
        }
        protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)
        {
            var views = GetView(controllerContext);
            return base.CreateView(controllerContext, viewPath.Replace(DefaultView, views),
                masterPath.Replace(DefaultView, views));
        }
        protected override bool FileExists(ControllerContext controllerContext, string virtualPath)
        {
            var views = GetView(controllerContext);
            return base.FileExists(controllerContext, virtualPath.Replace(DefaultView, views));
        }
    }

Application_Start()注册

ViewEngines.Engines.Add(new MyRazorViewEngine());

_ViewStart.cshtml

 @{ Layout = "~/Views/Shared/_Layout.cshtml".Replace("~/Views/", MyRazorViewEngine.GetView(Request)); } 

mvc4根据域名切换View模板

标签:

原文地址:http://www.cnblogs.com/toolssh/p/5665532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!