C# 如何创建多页表单?

C# 如何创建多页表单?,c#,.net,asp.net-mvc,entity-framework,asp.net-core,C#,.net,Asp.net Mvc,Entity Framework,Asp.net Core,我想为一个模型班的学生做一个有两页的表格。我目前正在尝试将第一页的数据传递到控制器,该控制器将学生作为模型传递到我的第二页视图,然后该视图将传递到控制器以保存到我的数据库中,但只有第二页的数据被保存到数据库中 第1页 @model Student <body> <div class="container1"> <form asp-action="Page2" method="post" role="form">

我想为一个模型班的学生做一个有两页的表格。我目前正在尝试将第一页的数据传递到控制器,该控制器将学生作为模型传递到我的第二页视图,然后该视图将传递到控制器以保存到我的数据库中,但只有第二页的数据被保存到数据库中

第1页

@model Student
<body>
    <div class="container1">
        <form asp-action="Page2" method="post" role="form">
            <div class=" form-group row">
                <label asp-for="FirstName" class="col-md-2 control-label"></label>
                <div class="col-md-5">
                    <input asp-for="FirstName" class="form-control" />
                </div>
            </div>

            <div class="form-group row">
                <div class="col-md-offset-2 col-md-5">
                    <input type="submit" class="btn btn-primary" value="Next" />
                </div>
            </div> 

您需要将FirstName的表单字段添加到Page2的视图中,可以是隐藏字段,也可以是只读输入(假设您不希望修改)

<input asp-for="FirstName" type="hidden" />


任何表单提交中只包含具有某种类型属性的值。这对于任何普通的旧HTML表单都是正确的,它(一旦您的视图生成)就是您正在处理的


如果您来自WebForms背景,任何版本的MVC框架(完整框架或.NET核心)中都没有ViewState,因此,作为开发人员,您可以在请求之间保留这些值。

据我所知,您错过了
\u reportRepository.CreateReport(report)
Page2
操作中?谢谢!这就是我要找的。
 [HttpPost]
        public IActionResult Page2(Reports report)
        {

            return View(report);
        }
        [HttpPost]
        public IActionResult Submit(Reports report)
        {
            _reportRepository.CreateReport(report);
            return View(report);
        }
<input asp-for="FirstName" type="hidden" />
<input asp-for="FirstName" type="text" readonly />