专栏首页kwcodeMVC自定义视图引擎地址

MVC自定义视图引擎地址

先看结构

1、RouteConfig 文件(注意顺序)

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            
            routes.MapRoute(
               name: "Manage_Default",
               url: "Manage/{controller}/{action}/{id}",
               defaults: new { controller = "Demo", action = "Index", id = UrlParameter.Optional },
               namespaces: new string[] { "Ku_MVC.Controllers.Manage" }
           );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }

  2、新增文件 MyRazorViewEngine

public class MyRazorViewEngine : RazorViewEngine
    {
        public MyRazorViewEngine()
            : base()
        {
            ViewLocationFormats = new[] {  
                 "~/Views/{1}/{0}.cshtml",
                 "~/Views/Manage/{1}/{0}.cshtml",
            };

        }

        protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)
        {
            return base.CreatePartialView(controllerContext, partialPath);
        }

        protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)
        {
            return base.CreateView(controllerContext, viewPath, masterPath);
        }

        protected override bool FileExists(ControllerContext controllerContext, string virtualPath)
        {
            return base.FileExists(controllerContext, virtualPath);
        }
    }

  3、Global.asax 

 protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
             
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            RegisterView();
        }
        protected void RegisterView()
        {
            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new Controllers.MyRazorViewEngine());
        }  

效果图

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • c# asp.net 实现分页(pager)功能

    分页PagerHelper辅助类 using System; using System.Web; public class PagerHelper { ...

    纯粹是糖
  • 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

    System.InvalidOperationException: 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。

    纯粹是糖
  • ASP.NET 实现Base64文件流下载PDF

    因为业务需要调用接口获取的是 Base64文件流 需要提供给客户下载PDF文档 源码部分借鉴网上,具体地址忘记了。 //Base64文件流 ...

    纯粹是糖
  • Digi-Capital:2017年AR/VR投资已达25亿美元,Q4已达10亿美元

    VRPinea
  • 【推荐】28页PPT详解腾讯数据挖掘体系及应用

    导读:数据是互联网时代企业创新发展的重要驱动力,更是互联网公司安身立命的基础。腾讯作为一家海量活跃用户的平台级互联网公司,数据挖掘技术一直处于国内领先地位,也是...

    钱塘数据
  • 干货 | 28页PPT详解腾讯数据挖掘体系及应用

    导读:数据是互联网时代企业创新发展的重要驱动力,更是互联网公司安身立命的基础。腾讯作为一家海量活跃用户的平台级互联网公司,数据挖掘技术一直处于国内领先地位,也是...

    钱塘数据
  • 深度 | IBM语音识别能力逼近人类水平,获深度学习巨头Yoshua Bengio盛赞

    你知道吗?人类每听20个词,其实就有一两个成为“漏网之鱼”。而在一段五分钟的对话中,这一数字达到了80。但对于我们而言,少听一两个词并不会影响我们对语意的理解,...

    AI科技评论
  • 收购红帽后的首笔订单,IBM拿下AT&T数十亿美元云计算协议

    昨天,IBM对外宣布已经与AT&T公司签署了一项价值数十亿美元的多年协议,允许后者在其云计算服务上托管其商业应用软件。

    镁客网
  • PAT (Basic Level) Practice (中文)1011 A+B 和 C

    给定区间 [−231,231] 内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。

    C you again 的博客
  • IBM推出企业级云计算市场 与全球合作伙伴共建云服务生态系统

    在近日举办的Impact 2014大会上,IBM正式宣布推出云端市场IBM Cloud marketplace。作为IBM领导云技术发展的又一重大举措,该市场汇...

    静一

扫码关注云+社区

领取腾讯云代金券