本文介绍了C#3.5 MVC2路由跳过可选参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在这里,我有:
routes.MapRoute(
测试,//路线名称
数据仓库/分销/ {类别} / {}系列号,
新{控制器=数据仓库,
行动=分配,
类别= UrlParameter.Optional,
系列号= UrlParameter.Optional}
);
类别和系列号都是可选的PARAMS。当路由这样的:数据仓库/分销/ 123
,它总是把123作为类别值。
我的问题是如何能够让它知道第一个参数可以是类别或系列号,即数据仓库/分销/ {类别}
和数据仓库/分销/ {系列号}
。
解决方案
数据仓库/分销/ {类别} / {}系列号
只有最后一个参数可以是可选的。在这个例子中类不能是可选的,原因很明显。
Here I have:
routes.MapRoute(
"test", // Route name
"DataWarehouse/Distribution/{category}/{serialNo}",
new { controller = "DataWarehouse",
action = "Distribution",
category= UrlParameter.Optional,
serialNo = UrlParameter.Optional }
);
Category and serialNo are both optional params. When the routing is like: DataWarehouse/Distribution/123
, it always treat 123 as the value for category.
My question is how I can make it to know the 1st param could be either category or serialNo, i.e. DataWarehouse/Distribution/{category}
and DataWarehouse/Distribution/{serialNo}
.
解决方案
DataWarehouse/Distribution/{category}/{serialNo}
Only the last parameter can be optional. In this example category cannot be optional for obvious reasons.
这篇关于C#3.5 MVC2路由跳过可选参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!