如何保留GET ActionResult中的参数值以在POST ActionResult中将其重复使用
本文关键字:ActionResult POST 参数 何保留 保留 GET | 更新日期: 2023-09-27 18:21:50
我正在向GET ActionResult发送参数,如下所示:
public ActionResult MyFormLetter(string studentName, string teacherName, string courseName, string appointmentDate)
{
// Do stuff here;
}
单击调用POST ActionResult的表单按钮后,这些值就超出了作用域。我如何才能保留GET ActionResult中的值以在Post ActionResult中将其重用?
谢谢你的帮助!
您应该为此使用ViewModel以及强类型视图。像这样的东西会起作用:
public class StudentInformation
{
public string StudentName { get; set; }
public string TeacherName { get; set; }
public string CourseName { get; set; }
public string AppointmentDate { get; set; }
}
您的操作方法如下所示:
public ActionResult MyFormLetter()
{
return View();
}
[HttpPost]
public ActionResult MyFormLetter(StudentInformation studentInformation)
{
// do what you like with the data passed through submitting the form
// you will have access to the form data like this:
// to get student's name: studentInformation.StudentName
// to get teacher's name: studentInformation.TeacherName
// to get course's name: studentInformation.CourseName
// to get appointment date string: studentInformation.AppointmentDate
}
还有一点查看代码:
@model StudentInformation
@using(Html.BeginForm())
{
@Html.TextBoxFor(m => m.StudentName)
@Html.TextBoxFor(m => m.TeacherName)
@Html.TextBoxFor(m => m.CourseName)
@Html.TextBoxFor(m => m.AppointmentDate)
<input type="submit" value="Submit Form" />
}
当您从提交的POST到达Action方法时,您将可以访问输入到表单视图中的所有数据。
免责声明:View代码只显示了必要的元素,以显示如何在模型中保存数据以进行模型绑定
您有强类型视图吗?你的观点应该有一个模型,它包含正确(学生名、教师名等)的价值观
然后在Post Action上,它可以接受同一类的参数,模型将自动从表单变量中获取值(只要可能,它将自动将值与模型的属性匹配)。
您可以将值放在隐藏字段中,以便将它们发布到POST操作中,然后可以将它们绑定到POST方法的ActionResult
中。