【问题标题】:Routing role in asp.net core isn't workingasp.net核心中的路由角色不起作用
【发布时间】:2018-07-06 08:40:52
【问题描述】:

使用mvc,在startup.cs中有一个部分是这样的:

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

将控制器更改为帐户和登录操作会在重新启动网站后给我一个错误 404 未找到。我错过了什么吗?

【问题讨论】:

  • 你有一个带有登录操作的 AccountController?
  • 如果您在创建时选择了默认值并选择了个人帐户,那么您应该具备以上所有条件。但是因为 Login 的路由没有采用Id,而是采用string returnUrl = null,所以它当然是 404,因为没有满足默认路由。
  • 您没有向我们提供足够的信息。我们需要查看一些控制器和操作

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


【解决方案1】:

我将首先在 Startup.cs 中验证您的 app.UseMvc(...) 是否位于 Configure 方法的末尾。然后验证您的控制器继承自 Controller,并且您没有 [Route] 属性。

如果这些都没有解决,请查看示例音乐商店应用程序Startup.cs 文件和sample controller,看看是否有任何遗漏。不幸的是,没有更多信息,只能猜测问题可能是什么。

【讨论】:

    【解决方案2】:

    在您的 AccountController 中查找属性路由,如果存在,它将与您的 startup.cs 路由选项一起崩溃,因此只需将其注释掉,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      • 2017-03-02
      相关资源
      最近更新 更多