在asp.net mvc 3中,如果我有一个名为MyArea的区域,我如何使用Url.Action或Url.RouteUrl获取http://myapproot/MyArea/
的链接?我想链接到该区域的根目录,以便我可以在javascript中重复使用该URL,因此如果可能的话,我不希望在URL中有控制器或操作。
答案 0 :(得分:3)
要为MyArea创建“root”,您可以使用位于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
答案 1 :(得分:1)
您可以使用Html.ActionLink
:
<%= Html.ActionLink("Show Blog", "ShowBlog", "Blog", new { area = "blog" }, null) %>
Blog
是你的区域。看看this。