asp.net-mvc-5 - 如何在 MVC 5 中重写路由

标签 asp.net-mvc-5

我有两个 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/

相关文章:

c# - MVC 向后显示月份和日期

javascript - 在 Angular 和 .Net MVC 5/Web API 中使用 http.delete

asp.net-mvc - 空 MVC5 项目中的附加脚本

c# - 在 _Layout.cshtml 中渲染 JavaScript 文件

c# - 从 Task<> 获取对象

c# - 是否可以将 2 个独立的 MVC 应用程序部署到一个 Azure Web 应用程序中?

asp.net-mvc - 为什么 DropDown() 辅助方法在 C# block 中使用时不显示下拉列表?

c# - ASP.NET MVC 5 - 身份。如何获取当前的ApplicationUser

asp.net - RouteValueDictionary 忽略空值

javascript - MVC 4/5 pluploader v2.1.9