[ASP.NET MVC 备忘] Route

看了官方网站上的说明和例子,觉得还是有些东西没说清楚。要自己去研究

Route 是用来将 request  url  Mapping 到 action method.

 

Mapping 的方式是通过 route table 中的设置进行的。对于route talbe 的配置,需要在global.asa 中进行。下面是一个默认的 route.

 

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


url 定义了 次route 对应的 URL的模式。   defaults 参数指明了 url模式中某部分缺失时 所使用的默认值。

所以此 route 处理类似于 http://XXXXX/atricle/index/123 的 url. 

 

url 模式 中的 controller, action 部分是可以省略的。例如下面的这个route. 在这种情况下。controller 和 action都会取默认值

routes.MapRoute(
                name: "Auth",
                url: "{orgCode}",
                defaults: new { controller = "Auth", action = "Index" }
            );


 

url模式中的参数名称 必须和 action method 中的参数名称一致。

例如: URL模式为 url: "{controller}/{action}/{id}",

则action method 中的参数必须为id.

 

url模式中多个参数的设置。

当action method 中有2个参数时。 可以在URL 模式中如此设置  url: "{controller}/{action}/{Parameter1}/{Parameter2}", Parameter1 和 parameter 2是action method 中的参数名称

 

route table 中 route的顺序和很重要。

asp.net 找到第一个符合当前 request url 的 route 后就不会在mapping 其后的route 设置。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值