我正在创建一个ASP.NET MVC应用程序。目前我的链接如下:
/Campaign/Overview/996e19da-c5e6-e511-948f-005056822904
/Service/Offer/767619da-c5e6-e511-948f-005056e529a5
我希望他们看起来像:
/Campaign/Overview/996e19da-c5e6-e511-948f-005056822904/campain-user-friendly-text-taken-from-the-db
/Service/Offer/767619da-c5e6-e511-948f-005056e529a5/service-user-friendly-text-taken-from-the-db
这意味着您访问时
/Campaign/Overview/996e19da-c5e6-e511-948f-005056822904/
您应该获得301并被重定向到/Campaign/Overview/996e19da-c5e6-e511-948f-005056822904/campain-user-friendly-text-taken-from-the-db
此外,当您发布到/Campaign/Overview/996e19da-c5e6-e511-948f-005056822904/campain-user-friendly-text-taken-from-the-db
时,在return View(vm);
方法中,您应该保留该网址。
最后,但并非最不重要的是,当您使用@ Html.ActionLink时("点击此处","概述","广告系列")我会喜欢用友好的用户文本创建链接(在广告系列和服务的情况下也是如此)。
对我想要的最简单的解决方案是什么?我可以想到我可以用路由和一些htmlHelper扩展做的事情,但我觉得我做得太复杂了,我正在重新发明轮子。我呢?
这里有一个微笑的问题:How do I create userfriendly urls like stackoverflow?,但它没有回答我的问题。