【问题标题】:In AspNet.Core the Tag Helper asp-area doesn't work在 AspNet.Core 中,Tag Helper asp-area 不起作用
【发布时间】:2016-07-07 17:07:20
【问题描述】:

我最近更新了 Update 3Visual Studio 和 1.0.0 的 ASP.Net Core

我按照documentation 中的教程进行操作,并尝试设置使用区域,例如https://docs.asp.net/en/1.0.0/mvc/controllers/areas.html

但是,生成的链接是http://localhost:2187/?area=Admin,而不是http://localhost:2187/Admin/Home/Index

更新

我的路线:

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

                routes.MapRoute(
                    name: "areaRoute",
                    template: "{area}/{controller=Home}/{action=Index}");
            });

怎么了?

解决方案

问题在于答案中提到的路线顺序。

【问题讨论】:

    标签: asp.net-core asp.net-mvc-areas tag-helpers


    【解决方案1】:

    这表示您没有在某个区域内注册的路线。

    区域路线示例:

    app.UseMvc(routes =>
    {
      routes.MapRoute(name: "areaRoute",
        template: "{area}/{controller=Home}/{action=Index}");
    
      routes.MapRoute(
          name: "default",
          template: "{controller=Home}/{action=Index}");
    });
    

    更新

    您必须重新排序路由,因为在这种情况下会匹配第一条路由。我建议看一下routing docs,以了解为什么订单很重要。

    【讨论】:

    猜你喜欢
    • 2016-04-23
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多