Session 防止用户在授权过期时丢失他们在DotNet Core 3.1 MVC视图中输入的数据

Session 防止用户在授权过期时丢失他们在DotNet Core 3.1 MVC视图中输入的数据,session,authorization,.net-core-3.1,Session,Authorization,.net Core 3.1,我对dotnetcore没有太多经验。我们利用DotNet Core 3.1为用户创建了一个门户。如果可能的话,我只是想了解一下如何处理这个问题: 在门户中,我们可以看到教员提交一份表格,用于审核健康提供者图表。该视图包含大约20个问题,其中一半是下拉列表,一半是自由文本输入。以下是视图: @model ChartAuditVM @{ ViewData["Title"] = "New Chart Audit"; ; } <div clas

我对dotnetcore没有太多经验。我们利用DotNet Core 3.1为用户创建了一个门户。如果可能的话,我只是想了解一下如何处理这个问题:

在门户中,我们可以看到教员提交一份表格,用于审核健康提供者图表。该视图包含大约20个问题,其中一半是下拉列表,一半是自由文本输入。以下是视图:

@model ChartAuditVM

@{
    ViewData["Title"] = "New Chart Audit"; ;
}

<div class="container bg-light">
    <br />
    <hr />
    <h3 class="text-center">Chart Audit for @ViewBag.Participant</h3>
    <hr />

    @if (TempData["Message"] != null)
    {
        <div class="alert alert-info">@TempData["Message"]</div>
    }

    <div class="row">
        <div class="col-md-12">
            <form asp-action="Create">
                <div asp-validation-summary="All" class="text-danger"></div>
                <input type="hidden" asp-for="IDParticipant_2" />
                <input type="hidden" asp-for="IDActivity" />
                <input type="hidden" asp-for="BatchDate" />
                <input type="hidden" asp-for="IDAuditor_5" />
                <span id="message"></span>
                <div class="form-group col-md-6">
                    <label asp-for="DateAudit_1" class="control-label"></label>
                    <input type="datetime" asp-for="DateAudit_1" class="form-control" value="@String.Format("{0:MM/dd/yyyy}", DateTime.Now)" readonly="readonly" />
                    <span asp-validation-for="DateAudit_1" class="text-danger"></span>
                </div>
                <div class="row">
                    <div class="form-group col-md-6">
                        <label asp-for="ChartNbr_3" class="control-label"></label>
                        <input asp-for="ChartNbr_3" class="form-control" />
                        <span asp-validation-for="ChartNbr_3" class="text-danger"></span>
                    </div>
                    <div class="form-group col-md-6">
                        <label asp-for="YearChartEntry_4" class="control-label"></label>
                        <input asp-for="YearChartEntry_4" class="form-control" />
                        <span asp-validation-for="YearChartEntry_4" class="text-danger"></span>
                    </div>
                </div>
                <div class="row">
                    <div class="form-group col-md-6">
                        <label asp-for="PatientAge_6" class="control-label"></label>
                        <input asp-for="PatientAge_6" class="form-control" />
                        <span asp-validation-for="PatientAge_6" class="text-danger"></span>
                    </div>
                    <div class="form-group col-md-6">
                        <label asp-for="PatientGender_7" class="control-label"></label>
                        <select asp-for="PatientGender_7" class="form-control" asp-items="@(new SelectList(ViewBag.PatientGender, "Value", "Text"))"></select>
                        <span asp-validation-for="PatientGender_7" class="text-danger"></span>
                    </div>
                </div>
                <div class="form-group">
                    <label asp-for="ChartLegible_8a" class="control-label"></label>
                    <select asp-for="ChartLegible_8a" class="form-control col-md-6" asp-items="@(new SelectList(ViewBag.Legibility, "Value", "Text"))"></select>
                    <span asp-validation-for="ChartLegible_8a" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="ClearEncntrReason_10" class="control-label"></label>
                    <select asp-for="ClearEncntrReason_10" class="form-control col-md-6" asp-items="@(new SelectList(ViewBag.YesNo, "Value", "Text"))"></select>
                    <span asp-validation-for="ClearEncntrReason_10" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="ChartWellOrg_11" class="control-label"></label>
                    <select asp-for="ChartWellOrg_11" class="form-control col-md-6" asp-items="@(new SelectList(ViewBag.Scale, "Value", "Text"))"></select>
                    <span asp-validation-for="ChartWellOrg_11" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="HistInfoAdequate_12" class="control-label"></label>
                    <select asp-for="HistInfoAdequate_12" class="form-control col-md-6" asp-items="@(new SelectList(ViewBag.Scale, "Value", "Text"))"></select>
                    <span asp-validation-for="HistInfoAdequate_12" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="HistInfoAdequateDescript_13" class="control-label"></label>
                    <textarea asp-for="HistInfoAdequateDescript_13" class="form-control"></textarea>
                    <span asp-validation-for="HistInfoAdequateDescript_13" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="PhysExamAdequate_14" class="control-label"></label>
                    <select asp-for="PhysExamAdequate_14" class="form-control col-md-6" asp-items="@(new SelectList(ViewBag.Scale, "Value", "Text"))"></select>
                    <span asp-validation-for="PhysExamAdequate_14" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="PhysExamAdequateDescript_15" class="control-label"></label>
                    <textarea asp-for="PhysExamAdequateDescript_15" class="form-control"></textarea>
                    <span asp-validation-for="PhysExamAdequateDescript_15" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="AssessFormulation_16" class="control-label"></label>
                    <select asp-for="AssessFormulation_16" class="form-control col-md-6" asp-items="@(new SelectList(ViewBag.Scale, "Value", "Text"))"></select>
                    <span asp-validation-for="AssessFormulation_16" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="AssessFormulationDescript_17" class="control-label"></label>
                    <textarea asp-for="AssessFormulationDescript_17" class="form-control"></textarea>
                    <span asp-validation-for="AssessFormulationDescript_17" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="PlanTreatAdequate_18" class="control-label"></label>
                    <select asp-for="PlanTreatAdequate_18" class="form-control col-md-6" asp-items="@(new SelectList(ViewBag.Scale, "Value", "Text"))"></select>
                    <span asp-validation-for="PlanTreatAdequate_18" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="PlanTreatAdequateDescript_19" class="control-label"></label>
                    <textarea asp-for="PlanTreatAdequateDescript_19" class="form-control"></textarea>
                    <span asp-validation-for="PlanTreatAdequateDescript_19" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="GlobalOverallAssess_20" class="control-label"></label>
                    <select asp-for="GlobalOverallAssess_20" class="form-control col-md-6" asp-items="@(new SelectList(ViewBag.Scale, "Value", "Text"))"></select>
                    <span asp-validation-for="GlobalOverallAssess_20" class="text-danger"></span>
                </div>
                <div class="form-group">
                    <label asp-for="BestSingleRecommend_22" class="control-label"></label>
                    <textarea asp-for="BestSingleRecommend_22" class="form-control" maxlength="1000"></textarea>
                    <span asp-validation-for="BestSingleRecommend_22" class="text-danger"></span>
                </div>
                @*<div class="form-group text-center">
                        <input type="submit" value="Create" class="btn btn-primary" name="theButton" />
                    </div>*@
                <div class="form-group">
                    <button type="submit" class="btn btn-primary">
                        Add  <i class="fas fa-plus-square"></i>
                    </button>
                </div>
            </form>
        </div>
    </div>

    <div class="text-center">
        <a asp-action="FacultyOpenChartAudits">Back to List</a>
    </div>
</div>

@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
@model ChartAuditVM
@{
ViewData[“标题”]=“新图表审核”;
}


@ViewBag.Participant的图表审核
@if(TempData[“Message”]!=null) { @TempData[“消息”] } @* *@ 添加 返回列表 @节脚本{ @{wait Html.RenderPartialAsync(“_validationScript”);} }
用户抱怨说,如果他们离开表单,15分钟后返回表单,门户会要求他们再次登录(当然这是我们希望它做的),他们输入表单的任何数据都会丢失。他们必须重新输入数据。有没有一种方法可以处理这个问题,这样一旦门户登录并将它们带回表单,数据仍然存在?或者我应该告诉他们,如果他们无法填写表格,就不应该开始填写表格吗?我无法将此数据提交到数据库,因为在将数据保存到SQL Server之前,所有下拉字段都是必需的。我已经想到了几种创造性的方法来处理数据库,但我宁愿不这样做,因为这会导致对门户表单以及如何处理进行一些广泛的重新设计。整个问题的主要原因之一是我们不能允许记录在输入后进行编辑。可以添加附录,但不可编辑记录。这是一项法律要求

我知道这里的每个人都非常聪明和有创造力,所以如果可能的话,请给我一些关于如何处理这个问题的想法