user1207692
user1207692

Reputation:

Asp.net MVC - Area Attribute Routing is not working

I have code like below

[RouteArea("Client")] 
public Class LoginController : Controller {
    [Route("register")]
    public ActionResult SignUp() {
        return View();
    }
}

Attribute routing unfortunately is not working in the areas :/, if I will remove "register" route for signup, it will work just for for client/signup, but with route "register" it is not working.

I have added [RouteArea()], tried with [RoutePrefix] but nothing is working correctly "Route Area" just enabled to use it with views (before that Razor couldn't find the view).

What am I doing wrong ?

Upvotes: 0

Views: 676

Answers (1)

user1207692
user1207692

Reputation:

Ok I HAVE FOUND THE SOLUTION.

1 Remove Area registration class from your area

2 Use this convention :

[RouteArea("Client")]
[RoutePrefix("login")]
[Route("{action}")]
public class LoginController : Controller
{

    [Route("")]
    // GET: Client/Login
    public ActionResult Index()
    {
        return View();
    }

    [Route("register")]
    // GET: client/login/register
    public ActionResult SignUp()
    {
        return View();
    }
}

Now you can use any route you want, with any prefix :)

Upvotes: 1

Related Questions