asp.net MVC URL Routing问题 关于routes.MapRoute()方法

asp.net MVC URL Routing问题 关于routes.MapRoute()方法的参数问题

2012-01-16 17:00 netspirits | 分类:其他编程语言 | 浏览2540次
VS2010 MVC3模板建立的项目,默认这么写
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
);
一切没问题,启动项目就能找到默认页面。
但是换个写法,如下
routes.MapRoute(
"Default", // 路由名称
"{a}/{b}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
);

就不能识别默认页那条路由。。。。这是什么原因。。
想请问下,"{controller}/{action}/{id}"必须这么写吗?不能替换成{a}{b}{c}吗?
还有 new { controller = "Home", action = "Index", id = UrlParameter.Optional }必须这么写吗? 能不能写成new { a= "Home", b= "Index", x = UrlParameter.Optional }

这两者到底哪儿是固定,哪儿是必须对应的啊。有什么对应关系啊。。。郁闷死了。。
2012-01-16 17:18 提问者采纳
必须要{controller}/{action}的,其他的参数不要求。你说的参数可以这么写:
{controller}/{action}/{a}-{b}-{c}..... ,明白?另外最后一部分是倒着解析的,如:
规则{controller}/{action}/{a}-{b}-{c},一个url是 user/center/1-2-3-4,解析结果为controller=user,action=center,c=4,b=3,a=1-2;明白吧?

转载于:https://www.cnblogs.com/wahaccp/p/3252265.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值