C# · 12月 30, 2021

c# – ASP.NET MVC路由/ SEO友好URL

我正在尝试像Stackoverflow这样的事情

从stackoverflow获取链接,例如:

Hidden Features of C#?

如果你删除最后一部分
(Hidden Features of C#?)
它仍然返回相同的结果.

对于我在Global.asax中的路由,我试着做一些像
“{行动} / {ID} / {TITLE}”

在我的页面上,这是我的链接:

<%= Html.ActionLink(video.Title,”Details”,”Videos”,new {id = video.ID,title = video.Title.Replace(” “,”-“)},null) %>

这完全是我想要的,除了在id之后,它会抛出“?title = blah-blah-blah”

我想要说“id / blah-blah-blah”

我的问题是什么? (除了是noob)

解决方法 该路由看起来应该适用于对ActionLink的调用,所以这有点猜测.您在默认路由之后注册您的“{action} / {id} / {title}”路由?如果是这样,默认路由将先匹配,并将标题值放在querystring中,因为它不会出现在路径中.如果您在{controller} / {action} / {id}默认之前注册了自定义路由,则应该可以使用.