区域控制器操作中的自定义路由在ASP.NET MVC中不起作用

时间:2015-11-27 10:10:54

标签: asp.net-mvc asp.net-mvc-5 url-routing area

我正在使用ASP.NET MVC。我在我的一些行动中使用自定义路线。

示例:

/Home/Contact

此默认路由具有如下定义的自定义路由:

[Route("~/contact-us")]
public ActionResult Contact()
{
    // Some code.. :)    
}

现在我可以通过/ contact-us路线访问联系人行动。

不幸的是,当我尝试在区域内执行相同操作时,这不起作用。当我在区域中的控制器内的操作中添加自定义路由并尝试访问它时,操作不会执行,我将重定向到我的全局Home Controller的Index操作。为什么会发生这种情况?我该如何解决?

1 个答案:

答案 0 :(得分:1)

您可以在RouteArea中使用Area属性到您的控制器。以下代码段可能会对您有所帮助。

 [RouteArea("YourArea")]  //use your Area name 
 public class ProfileController : Controller
 {
    [Route("~/contact-us")]
    public ActionResult Contact()
    {
        return View();
    }
 }