Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET MVC中设置路由方案,需要一些建议吗_C#_.net_Asp.net Mvc - Fatal编程技术网

C# 在ASP.NET MVC中设置路由方案,需要一些建议吗

C# 在ASP.NET MVC中设置路由方案,需要一些建议吗,c#,.net,asp.net-mvc,C#,.net,Asp.net Mvc,我正试图为MVC2中的产品部分建立一个合适的路由方案。我有以下标准: 格式的链接 /Products/(MX[0-9]+)和/Products/(BDL[0-9A-Z]) 需要路由到ProductsController.Show(Id=$1) 格式的链接 /Products/([a-zA-Z0-9/]+) 例如: 需要路由到ProductsController.List(类别=$1) 然后在这之上,我想要像这样的链接 /Products/AddToCart/{1}正常工作 到目前为止,我已经能够

我正试图为MVC2中的产品部分建立一个合适的路由方案。我有以下标准:

格式的链接

/Products/(MX[0-9]+)
/Products/(BDL[0-9A-Z])

需要路由到
ProductsController.Show(Id=$1)

格式的链接

/Products/([a-zA-Z0-9/]+)

例如:

需要路由到
ProductsController.List(类别=$1)

然后在这之上,我想要像这样的链接

/Products/AddToCart/{1}
正常工作

到目前为止,我已经能够通过一种相对简单的方法(所有过去的
/Products/
都被路由到show,如果输入的开始不是
MX
BDL


我对当前的实现不满意,希望能得到一些帮助。提前谢谢。

对路由使用正则表达式约束,并将它们与AddToCart放在第一位,MX和BDL放在第二位,catch all产品放在最后。如果您想要更多的控制权,您可以创建。

我想不起上面的语法我的头,但是你可以在你的路由上添加正则表达式约束,这样它们就可以路由到不同的地方。

好的,但这是我的问题,我现在可以很好地分割我的类别/产品查找了。但是我如何区分
某物/类似物/这个
一个/Action/With/Parameters
基本上我想让它检查一下先行动…这有什么意义吗?