MVC 路由

微软的MVC框架有一个特点是通过路由来请求。例如:

访问Http://xxxxx:80/Home/Index  这样一个地址

路由会确定名字为Home这个控制器,在这个控制器下找到名为Index的行为方法,然后返回View。View也就是传统的html(不准确)

按照以往我们都是直接在地址栏里输入:Http://xxxxx:80/index.html 直接去访问根目录下的某个html文件。

在web开发中,路由“route”是指根据url分配到对应的处理程序。

微软MVC中的路由的作用:

1.确定控制器(Controller)

2.确定行为方法(Action)

3.确定其它参数

4.根据识别出来的数据,传递给对应的Action。

打开Global.asax 全局设置文件,里面的

RouteConfig.RegisterRoutes(RouteTable.Routes);  //注册路由

再按F12 可以跳过去查看对应的实现。 简单说一下,当整个项目运行刚开始的时候,就会先注册相关的路由的信息。

项目会给我们默认生成一个路由规则。注意看传过来的参数是一个RouteCollection 是一个路由规则集合。因此在整个项目中可以有多个路由规则。简单点说就是url地址的格式可以有很多种。

name 是路由的名字

url 是这个路由的地址格式

defaults 是默认的数据 如果url后面用户什么都不填,那么按照上面的例子,将请求User控制器下的Login方法,参数可以不要。

 

1.小范围的路由规则应该写在前面,大范围的路由规则写在后面。

2.路由规则名字不能重复。

3.一个项目中可以注册很多个路由规则。

 

 (图片来自网络)

当发送请求后,从路由规则中的第一个开始匹配,第一个不匹配,就下一个,如果成功了,就结束了。

 获取参数

 

路由会将数据传递给action,如果action有参数,那么会转化成对应的参数,如果没有写参数,那么数据可以从routeData里面找。

原文地址:https://www.cnblogs.com/MzwCat/p/8509551.html