事隔多年,其实也就一年啦,重新整理下ASP.NET MVC的相关知识。继续前面的内容,来说说路由。
这是项目中App_Star/RouteConfig.cs
中的默认路由信息,上面有几个关键词:
可以看到,在Global
中使用RouteConfig.RegisterRoutes(RouteTable.Routes);
来注册路由。
routes.MapRoute方法
routes.MapRoute()
方法接收三个参数:
name
路由规则的名称(不能重复,作为键存放在RouteCollection)url
路由规则,即访问格式 其中{controller}
和{action}
不能修改defaults
默认值 重点说下路由规则,路由规则中{controller}
和{action}
不能修改,因为这是MVC的默认字段。
路由规则的id
字段,或者其他自定义字段,可以用于接收参数,便于请求的处理和参数的传递。
因为路由规则可以方便的传递和接受数据,因此在MVC中基本不适用GET方式来请求数据,一般使用路由匹配和POST提交两种方式。
行为参数模式通过路由传递的数据,不能被Request接收到,只能通过路由规则给定的格式,直接用ViewBag来接收。
注意:从SEO优化的角度来考虑,URL一般不要超过三层。
通常来讲,一个URL按照如下规则: localhost/{栏目}/{页面}
constraints 约束参数默认是没有的,但是可以自行添加:
url部分,不一定要使用/
进行连接,使用-
亦可(优化seo),如果使用-
,则是强类型匹配。
约束参数使用了数值长度的限制,避免出错。
使用 RouteDebug 进行路由调试