Как настроить области в ASP.NET MVC3
Кто-нибудь знает, как настроить области в ASP.NET MVC3.
Я прочитал статью о местах в здесь.
Но эта статья не основана на MVC3.
В MVC3 нет функции с именем MapRootArea
в RouteCollection routes
, которая находится в Global.asax
routes.MapRootArea("{controller}/{action}/{id}",
"AreasDemo",
new { controller = "Home", action = "Index", id = "" });
Когда я создаю новую область с помощью MVC3, у меня есть класс этой области, который унаследован от AreaRegistration
и выглядит следующим образом: (здесь Блоги - это название области)
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 }
);
}
}
Кто-нибудь, пожалуйста, помогите мне, как мне настроить область в MVC3. Любая ссылка также будет полезна.
Ответы
Ответ 1
Щелкните правой кнопкой мыши на своем веб-проекте и выберите Add → Area... Затем введите имя области, и Visual Studio позаботится обо всем остальном, что должно генерировать все необходимые классы. Например, регистрация области может выглядеть так:
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 }
);
}
}
и в Application_Start
вашего Global.asax
все, что вам нужно, это:
AreaRegistration.RegisterAllAreas();
Ответ 2
У вас может быть одно имя контроллера в корне и области, вам просто нужно определить его.
В вашем global.asax добавьте последнюю строку route.maproute, как показано ниже.
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },// Parameter defaults
new[]{"YourNameSpace.Controllers"}
);
также добавьте имя контроллера в файл ares/??? AreaRegistration.cs
context.MapRoute(
"Membership_default",
"Membership/{controller}/{action}/{id}",
new { controller= "Home", action = "Index", id = UrlParameter.Optional }
);
Ответ 3
пожалуйста, ниже показано, как настроить область в mvc. ![enter image description here]()