ASP.NET路由w /更改文章名称

时间:2016-03-17 08:45:34

标签: .net routing seo url-routing

是否可以忽略具有ASP.NET路由的URL的倒数第二部分?

e.g。 ../物品名称-X / 123456 /

无论产品名称如何变更,我们都希望始终在同一篇文章中添加文章ID并使用它来指向正确的文章。

我们有时会在公告时提供尚未获得最终名称的产品,因此我们需要在知道最终名称时进行更新。但是我们在通信中已经使用了初始URL,我们不希望以后断开链接。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你希望路线同时包含文章名称 id

您可以在Attribute routing中使用.net MVC。将name和id作为路径中定义的路径参数传递。然后在操作中,您可以使用它们中的任何一个(或两者)来搜索文章。

首先在RegisterRoutes方法

中允许属性路由
routes.MapMvcAttributeRoutes();

然后为您的操作定义Route属性

[RoutePrefix("articles")]
[Route("{action=index}")]
public class ArticlesController : Controller
{
    // e.g /articles
    public ActionResult Index() { … } 

    // e.g. /articles/my-article-name/my-article-id
    [Route("{name}/{id}")]
    public ActionResult Search(string name, string id) { … }
}

此操作可以称为

articles/my-article-name/my-article-id

请参阅this article了解详情。

HTH。