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 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-25(05)图形用户界面编程GUI

package cn.itcast.view;(6) import cn.itcast.dao.UserDao; import cn.itcast.dao.i...

3294
来自专栏数据小魔方

一篇全是代码的数据可视化案例

实在没时间写文字步骤了,算了,就甩一篇代码给大家吧,这篇代码包含五张图,分别可以呈现放射状线路图、迁徙路径图、闭环路径图、菱形气泡图、方形气泡图。 librar...

2616
来自专栏知识分享

Android之网络摄像头

实现的功能就是两个手机在一个局域网内可以互相观看对方的摄像头图像,当然如果都是连接公网那么就能远程互看了,,,,和视频聊天差不多,,不过没有声音,,,,,,,,...

4287
来自专栏landv

捷信达会员管理系统SQL语句相关

1154
来自专栏xingoo, 一个梦想做发明家的程序员

ping 实现设计---ICMP

发送ICMP报文时,必须程序自己计算校验和,将它填入ICMP头部对应的域中。 校验和的计算方法:   将数据以字为单位累加到一个双字中,如果数据长度为奇数,最后...

1917
来自专栏GIS讲堂

Openlayers2卷帘功能的实现

在WebGIS开发中,经常会有用户提需求,要实现卷帘功能,卷帘功能主要是实现两张图之间的对比。在前文中,讲到了openlayers3以及Arcgis for j...

882
来自专栏机器学习实践二三事

Python-OpenCV(1)

前面的几个博客写的乱七八糟的,一来是初学数字图像,二是之前没有写过博客,所以对不起之前看我博客的各位啦!!!!!! 现在决定使用python重新写这个系列,不再...

2125
来自专栏bboysoul

linux下的彩蛋和各种有趣的命令

循环输出 for ((i=1;i<=30;i++));do linux_logo -f -L $i;sleep 0.1;done

1004
来自专栏岑志军的专栏

ReactNative-综合案例(02)

1177
来自专栏跟着阿笨一起玩NET

WinForm中DataGridView验证单元格输入的是数字

     事件:DataGridView验证单元格输入的是数字,DataGridView源数据是从数据库读取的。

711

扫码关注云+社区