如何链接到区域的根

本文关键字:区域 链接 何链接 | 更新日期: 2023-09-27 18:26:06

在asp.net mvc 3中,如果我有一个名为MyArea的区域,我将如何使用Url.Action或Url.RouteUrl来获得指向http://myapproot/MyArea/的链接?我想链接到该区域的根,这样我就可以在javascript中重用URL,所以如果可能的话,我不想在URL中有控制器或操作。

如何链接到区域的根

要为MyArea创建一个"根",您可以在位于MyArea的AreaRegistration类中的RegisterArea()方法中创建一个路由。

示例: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

您可以使用Html.ActionLink:

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

Blog是您的区域。看看这个。