Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Html.ActionLink显示页面i';我已经在.NETCore2.2中了_C#_Asp.net_.net_Model View Controller - Fatal编程技术网

C# Html.ActionLink显示页面i';我已经在.NETCore2.2中了

C# Html.ActionLink显示页面i';我已经在.NETCore2.2中了,c#,asp.net,.net,model-view-controller,C#,Asp.net,.net,Model View Controller,我最近从.NET Core 2.1迁移到.NET Core 2.2,除了@Html.ActionLink之外,一切都很顺利 我在我的_LoginPartial.cshtml中有2@Html.ActionLink,一个在注册页面上(我自己做的),一个在登录页面上(由Microsoft使用Identity stuff创建) 如果我点击“注册”,一切正常,它会将我从注册控制器带到注册页面。 但我点击“登录”,它让我保持在同一个页面上,url也是我已经在的页面。 如果我手动浏览,我可以进入登录页面。 我

我最近从.NET Core 2.1迁移到.NET Core 2.2,除了@Html.ActionLink之外,一切都很顺利

我在我的_LoginPartial.cshtml中有2@Html.ActionLink,一个在注册页面上(我自己做的),一个在登录页面上(由Microsoft使用Identity stuff创建)

如果我点击“注册”,一切正常,它会将我从注册控制器带到注册页面。 但我点击“登录”,它让我保持在同一个页面上,url也是我已经在的页面。 如果我手动浏览,我可以进入登录页面。 我猜是我的路线,但我没有改变它,所以我有点迷路

<ul class="nav navbar-nav navbar-right ml-auto mt-1">
    <li class="nav-item" id="Register" style="padding-right:20px;">
        @Html.ActionLink("Register", "Index", "Register", null, new { @style = "color:white" })
    </li>
    <li class="nav-item" id="Login">
        @Html.ActionLink("Login", "/Account/Login", "Identity", null, new { @style = "color:white" })
    </li>
    <li class="nav-item" id="Login">
        @Html.ActionLink("Login", "Account", "Identity", null, new { @style = "color:white" })
    </li>
</ul>







  app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });
  • @ActionLink(“Register”、“Index”、“Register”、null、new{@style=“color:white”})
  • @ActionLink(“Login”,“/Account/Login”,“Identity”,null,新的{@style=“color:white”})
  • @ActionLink(“Login”、“Account”、“Identity”、null、new{@style=“color:white”})
app.UseMvc(路由=> { routes.MapRoute( 名称:“默认”, 模板:“{controller=Home}/{action=Index}/{id?}”); });
我无法理解您的代码。 基本上: ActionLink采用以下三个第一个参数:
string:Text
string:ActionName
string:ControllerName
在第一个链接中,您指的是索引页,控制器名称是Register。听起来不对

然后,您有两个操作链接,假设它们指向同一页面,但有一个错误,您编写了
/Account/Login
,它不是操作名称。它看起来像一条路线

<li class="nav-item" id="Login">
        @Html.ActionLink("Login", "Login", "Account", null, new { @style = "color:white" })
</li>
  • @ActionLink(“Login”、“Login”、“Account”、null、new{@style=“color:white”})
  • 它不是
    /Account/Login
    ,而是
    Login
    。我认为控制器的名称是
    Account

    我认为您在所有操作链接中都犯了相同的错误,因此请务必更正操作名称和控制器名称。

    对于寄存器部分,我有一个名为Register的控制器,它必须转到此控制器的Index方法,因此它是正确的。对于登录部分,我正在尝试访问Microsoft提供的身份登录。它以前工作过,这就是我不明白的。您可以看到登录时有两种不同的ActionLink,这只是因为我做了一些测试:-)最好正确命名,以便于修改/阅读,但这不是问题所在。你登录的控制器名是什么?它从Identity/Account/Identity登录是一个API,控制器名应该是Account?不,我不这么认为。这是我正在尝试访问的url: