Подтвердить что ты не робот

Как настроить области в 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. Любая ссылка также будет полезна.

4b9b3361

Ответ 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