cI went through various posts regarding the Areas routing but still I am not able to resolve my issue.
I would like to split my application in the way that there are two routes.
/Areas/Panel
/Areas/Website
Inside each area there is HomeController
and appropriate methods that correspond to actions.
I would like that whenever user lands to any level 1 route i.e.:
- /home
- /contact
- /about/company
- etc.
is directed to /Areas/Website/{controller}/{action}
and alternatively for
- /panel
- /panel/home
- /panel/users/2
- etc
to /Areas/Panel/{controller}/{action}
My current MVC route is:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "area",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
});
but it isn't working, probably because I don't fully understand how tell the router to use Website
area as default. I tried various directives right before the controller itself but it did not work.
Could I ask for your advice?
Thank you in advance.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…