在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 }
    );
}


然后在剃刀页面上可以像这样调用特定的路线...

@Url.RouteUrl("MyArea_default")


将呈现为

/MyArea/Foo

关于c# - 如何链接到区域的根?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9505344/

10-10 07:20