c# - asp - maproute area mvc 5
Cómo configurar áreas en ASP.NET MVC3 (3)
¿Alguien sabe cómo configurar áreas en ASP.NET MVC3? Leí un artículo sobre Áreas here . Pero ese artículo no está basado en MVC3. En MVC3 no hay ninguna función llamada MapRootArea
en RouteCollection routes
que se encuentra en Global.asax
routes.MapRootArea("{controller}/{action}/{id}",
"AreasDemo",
new { controller = "Home", action = "Index", id = "" });
Cuando creo un Área Nueva usando MVC3, obtuve una clase de esa área que heredó de AreaRegistration
de AreaRegistration
y se ve como sigue: (aquí Blogs es el nombre del área)
public class BlogsAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Blogs";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Blogs_default",
"Blogs/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
¿Alguien podría ayudarme cómo configuro el área en MVC3? Cualquier tipo de enlace sería útil también.
Haga clic derecho en su proyecto web y seleccione Agregar -> Área ... Luego escriba el nombre del área y Visual Studio se encargará del resto, que es generar todas las clases necesarias. Por ejemplo, el registro de área podría verse así:
public class AreasDemoAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "AreasDemo";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"AreasDemo_default",
"AreasDemo/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
y en Application_Start
de su Global.asax
todo lo que necesita es:
AreaRegistration.RegisterAllAreas();
Por favor, encuentre abajo la imagen que muestra cómo configurar el área en mvc.
Puede tener el mismo nombre de controlador en la raíz y el área, solo tiene que definirlo.
En su global.asax, agregue la última línea de routes.maproute como se muestra a continuación
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },// Parameter defaults
new[]{"YourNameSpace.Controllers"}
);
también, agregue el nombre del controlador en su archivo ares / ????? AreaRegistration.cs
context.MapRoute(
"Membership_default",
"Membership/{controller}/{action}/{id}",
new { controller= "Home", action = "Index", id = UrlParameter.Optional }
);