Как сделать ссылку на корень области? - PullRequest
3 голосов
/ 29 февраля 2012

В asp.net mvc 3, если у меня есть область с именем MyArea, как бы я использовал Url.Action или Url.RouteUrl, чтобы получить ссылку на http://myapproot/MyArea/?Я хочу связать с корнем области, чтобы я мог повторно использовать URL в javascript, поэтому я не хочу иметь контроллер или действие в URL, если это возможно.

Ответы [ 2 ]

3 голосов
/ 01 марта 2012

Чтобы создать «корень» для MyArea, вы можете создать маршрут в методе RegisterArea(), который находится в классе AreaRegistration вашей MyArea.

Пример: Foo - это имя корневого контроллера.

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

Затем со своих страниц Razor вы можете назвать конкретный маршрут, как этот ...

@Url.RouteUrl("MyArea_default")

Который будет отображаться как

/MyArea/Foo
1 голос
/ 29 февраля 2012

вы можете использовать Html.ActionLink:

<%= Html.ActionLink("Show Blog", "ShowBlog", "Blog", new { area = "blog" }, null) %>

Blog - это ваша область.Взгляните на это .

...