为不同的 ActionResults 自定义 url?
Custom url for different ActionResults?
我正在将旧网站移动到新的 ASP .Net MVC 网站。旧站点的 url 命名方案非常糟糕。我很想忽略旧方法,只创建新的 urls,但是,很多链接指向 SEO 的旧链接。所以,我要维持老url。
假设这是旧的 url:
网页.com/items/products/Hello-World-Hyphens
如何在 MVC 上输入它?
我得到了 ProductsController:
ActionResult HelloWorldHyphens() { return View(); }
这将输出到网络。com/products/HelloWorldHyphens
但是,我需要以旧方式编写。以 /items/ 开头并在控制器名称中包含连字符。
有什么方法可以做这样的事情吗?
[OutputUrl="/items/products/Hello-World-Hyphens"]
ActionResult HelloWorldHyphens()
当您迁移到新的 ASP MVC 网站时,您可以利用 MVC 5 中的属性路由。
如果在注册路由时添加属性路由:
routes.MapMvcAttributeRoutes();
然后你可以在方法上添加路由:
[Route("/items/products/Hello-World-Hyphens")]
ActionResult HelloWorldHyphens()
我正在将旧网站移动到新的 ASP .Net MVC 网站。旧站点的 url 命名方案非常糟糕。我很想忽略旧方法,只创建新的 urls,但是,很多链接指向 SEO 的旧链接。所以,我要维持老url。
假设这是旧的 url: 网页.com/items/products/Hello-World-Hyphens
如何在 MVC 上输入它?
我得到了 ProductsController:
ActionResult HelloWorldHyphens() { return View(); }
这将输出到网络。com/products/HelloWorldHyphens
但是,我需要以旧方式编写。以 /items/ 开头并在控制器名称中包含连字符。
有什么方法可以做这样的事情吗?
[OutputUrl="/items/products/Hello-World-Hyphens"]
ActionResult HelloWorldHyphens()
当您迁移到新的 ASP MVC 网站时,您可以利用 MVC 5 中的属性路由。
如果在注册路由时添加属性路由:
routes.MapMvcAttributeRoutes();
然后你可以在方法上添加路由:
[Route("/items/products/Hello-World-Hyphens")]
ActionResult HelloWorldHyphens()