我正在将旧网站迁移到新的ASP .Net MVC网站。旧网站的网址命名方案非常糟糕。我很乐意忽略旧的方式,只是创建新的网址,然而,很多链接指向SEO的旧链接。因此,我必须保持较旧的网址。
所以让我们说这是旧网址: web.com/items/products/Hello-World-Hyphens
如何在MVC上输入?
我有ProductsController:
ActionResult HelloWorldHyphens() { return View(); }
将输出到web.com/products/HelloWorldHyphens
但是,我需要用旧方式编写。以/ items /开头,并在控制器名称中包含连字符。
我有办法做这样的事吗?
[OutputUrl="/items/products/Hello-World-Hyphens"]
ActionResult HelloWorldHyphens()
答案 0 :(得分:1)
当您迁移到新的ASP MVC网站时,您可以利用MVC 5中的属性路由。
如果在注册路线时添加属性路由:
routes.MapMvcAttributeRoutes();
然后你可以在方法上添加路线:
[Route("/items/products/Hello-World-Hyphens")]
ActionResult HelloWorldHyphens()