本周由于工作需要,接触了PetaPoco(一个小型的ORM-框架)和ExtJS,这个项目框架是别人写好的,用的是MVC,我写的MVC程序一般控制器和视图都是在一个类库下面的,但是作者是把MVC中的控制器和视图分别写着两个类库当中的,这种写法我第一次见,所以我很想知道控制器是怎么和视图进行关联的。下面我简单说说我理解到的内容。

一般的路由规则如下:

 routes.MapRoute(
                name: "Default_HasId_Html",// 路由名称
                url: "{controller}/{action}/{id}.html",// 带有参数的URL
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }// 参数默认值
                ); 由于我写的程序控制器和视图都是在一个类库下面的,所以这种方式的路由就能匹配我所需要的一切,但是当他们不在一个类库下面的时候,这种写法就不能匹配到了,寻找解决
办法,原来在路由规则里面还有另外一个参数 namespace (优先匹配的命名空间),
语法:
1 routes.MapRoute(
2 name: "MyRoute",
3 url: "{controller}/{action}",
4 defaults: new { controller = "Home",action="index"},
5 namespaces: new string[] { "Course.Controllers" }
6 ); namespace是一个字符串数组,可以指定多个命名空间,注意:namespace是指定优先查找的命名空间,而不是指定查找的命名空间,当在指定优先查找的命名空间中找不到时还是会去其它的命名空间查找。 相信看到这里大家都明白了,如果控制器和视图不再同一个类库下面,要想他们正常访问,我们就得在路由规则里面指定优先查找的命名空间。 好了,今天就简单的写一点,下一篇可能是关于PetaPoco的一些理解,也有可能是别的。

MVC路由规则进一步了解的更多相关文章

  1. MVC 路由规则

    一.路由规则说明 先来看MVC中的默认路由的说明 "{controller}/{action}/{id}", // URL with parameters 对于Url /Home/ ...

  2. 【基础】MVC路由规则

    一.RouteData解析过程 在ASP.NET MVC中,服务器收到来自客户端的请求后,会经过一些列的处理拿到请求的数据,比如在Pipeline 管线事件中,通过订阅适当的事件,将HttpConte ...

  3. ASP.NET MVC路由规则

    1 是从上往下寻找路由规则的 2 如果上面的匹配了,则下面的不会匹配 3 假如域名是www.startpress.cn 路由规则是 routes.MapRoute( name: "Defau ...

  4. mvc路由规则相关

    1,可以创建多条路由规则,每条路由规则的name属性不能相同 2,路由规则是有顺序的,如果被前面的规则匹配了,那么后面的规则就没有机会了 下面是一条路由规则的代码 routes.MapRoute( n ...

  5. MVC路由规则以及前后台获取Action、Controller、ID名方法

    1.前后台获取Action.Controller.ID名方法 前台页面:ViewContext.RouteData.Values["Action"].ToString(); Vie ...

  6. MVC路由规则

    1 可以创建多条路由规则,每条路由规则的那么属性不同 2路由规则是有顺序的.如果被前面的规则匹配了,那么后面的规则就没机会了 3 constraints 约束: 4namespaces 命名空间 5r ...

  7. MVC系列——MVC源码学习:打造自己的MVC框架(三:自定义路由规则)

    前言:上篇介绍了下自己的MVC框架前两个版本,经过两天的整理,版本三基本已经完成,今天还是发出来供大家参考和学习.虽然微软的Routing功能已经非常强大,完全没有必要再“重复造轮子”了,但博主还是觉 ...

  8. mvc中多参数URL会很长,首次加载不传参数让url很短,路由规则实现方法[bubuko.com]

    如要实现列表中地址全路径“bubuko-11-2.html”,在首次进入时,使用短路径“bubuko.html”,只有再次href后才显示全路径“bubuko-11-2.html”,下面使用路由规则来 ...

  9. MVC之路由规则 (自定义,约束,debug)

    自定义路由规则的要求,小范围写在前,大范围写在后.路由规则可以注册多条,路由规则的名称不能重复路由规则有顺序,并且按照顺序进行匹配,建议小范围写在前,大范围写在后.路由规则可以设置约束 即正则表达式路 ...

随机推荐

  1. 如何使用U盘给电脑安装CentOS系统

    准备工具:1.8G左右U盘;2.最新版UltraISO;3.CentOS ISO镜像; 上面的步骤做好之后就是将镜像刻录到U盘中,这里跟Windows系统刻录U盘的步骤是一样的,就不再多赘述了. 假如 ...

  2. 将 PDF 论文的公式截图后转成 Word 可编辑公式(23)

    1. 问题 如何将PDF论文的公式截图后直接转成Word可编辑的公式? 2. 方法步骤 1.下载mathpix 2.使用mathpix截取公式,并生成LATEX 公式: 3.下载LaTeX转Word插 ...

  3. 利用Python进行数据分析_Pandas_数据结构

    申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 首先,需要导入pandas库的Series和DataFrame In [21] ...

  4. redis用法分析

    redis基本介绍 redis也是一个内存非关系型数据库,它拥有memcache在数据存储上的全部优点,而且在memcache的基础上增加了数据持久性功能,redis用rdb和aof两种方式实现数据持 ...

  5. asp.net core-6.Bind读取配置文件到C#实例中

    1,创建asp.net core web应用程序,选择空网站 2,创建一个appsettings.json文件 为什么要叫appsettings.json呢?因为在Iwebhost启动的时候没有添加任 ...

  6. linux运维工程师常用命令

    1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a  列出包括.a开头的隐藏文件的所有文件-A  通-a,但不列出"."和".."-l  列 ...

  7. 【win10】 ffmpeg的安装

    安装肯定要先下载,官方下载地址:http://www.ffmpeg.org/download.html 然后会进入这个页面. 然后根据你的操作系统选择 根据自己系统选择,我的系统是64位的所以下载的是 ...

  8. css 动画(一)transform 变形

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 有段时间我是没理清 transform.translate.transition 和 animation之 ...

  9. Linux查看进程并重启服务命令

    top -u root 查看系统进程service network restartservice iptables restartservice sshd restartservice nginx r ...

  10. kong网关命令(一)

    上次在虚拟机里安装kong网关后,因为版本(1.4)太高,目前Kong Dashboard无法支持, 后续发现Git上有个开源工具Kong admin ui,下载源码并部署到NGINX. 但是发现使用 ...