我有两个 Controller controllerOne是在AreaOne区域下定义的。我需要将controllerOne 中定义的操作之一重新路由到controllerTwo 中定义的操作我尝试了属性路由,但它不起作用。我当前的代码如下
Controller 一中的操作
public class ControllerOne
{ public ActionResult CustomerSearch()
{
return View("Search", model);
}
}
Controller 二中的操作
[Route("AreaOne/ControllerOne/CustomerSearch")]
public class ControllerTwo
{ public ActionResult CustomCustomerSearch()
{
return View("Search", model);
}
}
我怎样才能实现这个目标?
最佳答案
在RouteConfig.cs中,您可以使用routes.MapRoute将您的URL与项目中的任何 Controller 和操作相关联。
routes.MapRoute(
name: "OverrideCustomerSearch",
url: "AreaOne/ControllerOne/CustomerSearch",
defaults: new { controller = "Two", action = "CustomCustomerSearch" }
);
关于asp.net-mvc-5 - 如何在 MVC 5 中重写路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41704703/