C# 特殊路由

C# 特殊路由,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个asp.net MVC项目,需要在其中定义一些自定义路由。类似于您在Wordpress上看到的帖子,其中路线的形式为postid postname: 12-i-am-post 12/i-am-post. 我知道如何做类似于postd/postname: 12-i-am-post 12/i-am-post. 但我如何制作一条结合了两者的路线,例如: mywebsite.com/12-postname-is-her 应适用于以下请求,因为有多个连字符,您将无法将其用作分隔符/分隔符

我有一个asp.net MVC项目,需要在其中定义一些自定义路由。类似于您在Wordpress上看到的帖子,其中路线的形式为
postid postname

12-i-am-post
12/i-am-post.
我知道如何做类似于
postd/postname

12-i-am-post
12/i-am-post.
但我如何制作一条结合了两者的路线,例如:

mywebsite.com/12-postname-is-her

应适用于以下请求

,因为有多个连字符,您将无法将其用作分隔符/分隔符,除非您希望它始终与第一个匹配。最好的办法是执行catchall
{*path}
并分析控制器中的值。

发生了什么问题。ID总是排在第一位,名称是后面的,而posname则不管ID何时唯一,都可以用来标识帖子。