Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.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/0/asp.net-mvc/14.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# ASP.NET核心MVC重定向:视图重复和嵌套_C#_Asp.net Mvc_Asp.net Core Mvc - Fatal编程技术网

C# ASP.NET核心MVC重定向:视图重复和嵌套

C# ASP.NET核心MVC重定向:视图重复和嵌套,c#,asp.net-mvc,asp.net-core-mvc,C#,Asp.net Mvc,Asp.net Core Mvc,我最近偶然发现了下面的代码,以便在使用ASP.NET Core MVC开发的旧版应用程序出现错误时重定向: app.UseStatusCodePages(异步上下文=>{ var response=context.HttpContext.response; 如果(response.StatusCode==(int)HttpStatusCode.Unauthorized|| response.StatusCode==(int)HttpStatusCode.NotFound|| response.S

我最近偶然发现了下面的代码,以便在使用ASP.NET Core MVC开发的旧版应用程序出现错误时重定向:

app.UseStatusCodePages(异步上下文=>{
var response=context.HttpContext.response;
如果(response.StatusCode==(int)HttpStatusCode.Unauthorized||
response.StatusCode==(int)HttpStatusCode.NotFound||
response.StatusCode==(int)HttpStatusCode.Forbidden)
重定向(“/Account/Login”);
});
该操作位于下面的
AccountController.cs
中:

[授权]
公共类AccountController:BaseController
{
公共账户控制员(
用户管理器

[编辑]

要给出正在发生的事情的要点:


什么意思
登录视图,而不是在_mainLayout.cshtml中只显示一次Login.cshtml。它出现两次。
也许您可以显示当前视图screenshot@XingZou只是添加了一张图片来解释发生了什么。不能把实际的截图放在这里,因为它有公司版权。我想你应该怀疑一下e检查
\u mainLayout
是否为根布局,或者是否有任何导致递归代码的逻辑。
@{
    Layout = "_mainLayout";
}
@using MySecretProject.Core.App_LocalResources
@using Microsoft.AspNetCore.Mvc.Rendering
@model MySecretProject.Core.Models.Account.LoginViewModel
@using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer
@{
    ViewBag.Title = MySecretProject.Core.App_LocalResources.Views.Account.Login.Account_Login_Title;
}

@using (Html.BeginForm("Login", "Account", new { ViewBag.ReturnUrl }, FormMethod.Post, true, new { role = "form", @class = "form-horizontal contentPane2 contentPane2TopMargin" }))
{
    @Html.AntiForgeryToken()
    <div class="tab" style="width: 100%">
        <div id="TopHeader" class="documentTabHeaderTop">&nbsp;</div>
        <div class="container-fluid documentTitleHeader text-center documentTabHeaderTd-active">
            <div>Sign in</div>
            <div class="col-xs-12 col-sm-12 col-lg-12 headImage">@Html.ValidationSummary(true)</div>
        </div>
    </div>

    <div class="form-group has-feedback">
        <div class="col-lg-10 col-md-10 col-sm-10 col-xs-10 col-lg-offset-1 col-md-offset-1 col-sm-offset-1 col-xs-offset-1">
            <div class="input-group">
                <span class="input-group-addon"><i class="glyphicon glyphicon-envelope"></i></span>
                @Html.TextBoxFor(m => m.Email, new {@class = "form-control", @placeholder = "Email", aria_describedby = "EMailStatus"})
                @Html.ValidationMessageFor(m => m.Email, null, new { @class = "sr-only", id = "EMailStatus" })
            </div>
        </div>
    </div>
    <div class="form-group has-feedback">
        <div class="col-lg-10 col-md-10 col-sm-10 col-xs-10 col-lg-offset-1 col-md-offset-1 col-sm-offset-1 col-xs-offset-1">
            <div class="input-group">
                <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
                @Html.PasswordFor(m => m.Password, new {@class = "form-control", @placeholder = Resource.Password, aria_describedby = "PasswordBlock"})
                @Html.ValidationMessageFor(m => m.Password, null, new {@class = "sr-only", id = "PasswordBlock"})
            </div>
        </div>
    </div>
    <div class="form-group">
        <div class="text-center">
            <div>
                <input type="submit" id="ContinueButton" value="@Resource.Continue.ToUpper()" class="buttonItem buttonItem-valid"/>
            </div>
        </div>
    </div>
    <div class="form-group">
        &nbsp;
    </div>
    <div class="form-group">
        <div class="text-center">
            @Html.ActionLink(Resource.PasswordForgotten, "ForgotPassword", "Account", string.Empty, new { @style = "text-decoration: none;"})
        </div>
    </div>
}