从一个区域导航到ASP.NET中没有区域的页面

时间:2016-09-25 05:44:02

标签: asp.net asp.net-core asp.net-routing

我将路由设置为默认加载/AreaName/Home/Index并添加此

<a asp-area="" asp-controller="Application" asp-action="Index"</a>

Index.cshtml我希望它转到/Application/Index,但当鼠标悬停在链接上时,网址看起来像localhost:######/AreaName/Application/而不是localhost:######/Application/

我认为我的路由有点偏。这是我试过的:

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "Default",
        template: "{area}/{controller}/{action}/{id?}",
        defaults: new { area = "AreaName", controller = "Home", action = "Index" }
    );

    routes.MapRoute(
        name: "SomeName",
        template: "{area}/{controller}/{action}/{id?}",
        defaults: new { area = string.Empty, controller = "Application", action = "Index" }    
    );
}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的路由表应该有一个没有区域的默认路由,您当前的配置将始终指向区域名称= AreaName的路由,因为您在第一条路径中将其默认为“AreaName”。

复制第一条路线并从中删除区域部分并删除第二条路线。