MVC Area маршрутизация - Как исключить имя области в URL - PullRequest
0 голосов
/ 25 июля 2011

Я бы хотел использовать «Области» для отделения кода и контента моей системы CMS и контента от коммерческой части сайта.

Итак, я хотел бы создать область (называемую Commerce), которая содержит контроллер, называемый «Buy». Но мне бы хотелось, чтобы в маршрутизации игнорировалась коммерческая часть маршрута и вместо этого создавался URL-адрес, который выглядит как «www.acme.com/Buy» вместо «www.acme.com/Commerce/Buy"

».

Возможно ли это?

1 Ответ

0 голосов
/ 25 июля 2011

Да, это возможно. Но я не уверен, чем это хороший подход.

После того, как ваша область будет создана, у вас есть новый файл [areaname] areaRegistration.cs В методе RegisterArea просто удалите имя области из contex.MapRoute, что-то вроде этого

 public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Test_default",
            "{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional }
        );
    }

как видите, я удалил название области в этой строке

"{controller}/{action}/{id}",

вместо

"[AreaName]/{controller}/{action}/{id}",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...