要将列表项绑定到Razor Pages表单控件,您可以按照以下步骤进行操作:
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
}
List
来保存学生列表。public class IndexModel : PageModel
{
public List Students { get; set; }
public void OnGet()
{
// 初始化学生列表
Students = new List
{
new Student { Id = 1, Name = "John" },
new Student { Id = 2, Name = "Jane" },
new Student { Id = 3, Name = "Bob" }
};
}
}
foreach
循环来创建包含学生列表项的表单控件。@page
@model IndexModel
在上面的代码中,我们使用foreach
循环来遍历学生列表,并为每个学生创建一个带有标签和输入框的表单控件。 asp-for
指令用于将表单控件绑定到模型的相应属性。
OnPost
方法中处理表单提交。public IActionResult OnPost()
{
// 处理表单提交逻辑
// 更新学生列表
List updatedStudents = new List();
foreach (var student in Students)
{
// 获取更新后的学生姓名
var updatedName = Request.Form[$"student.Name_{student.Id}"];
// 创建更新后的学生对象
var updatedStudent = new Student { Id = student.Id, Name = updatedName };
// 添加到更新的学生列表中
updatedStudents.Add(updatedStudent);
}
// 更新学生列表
Students = updatedStudents;
// 重定向到当前页面
return RedirectToPage();
}
在上面的代码中,我们首先获取每个学生的更新后的姓名,然后创建一个更新的学生对象,并将其添加到更新的学生列表中。最后,我们将学生列表更新为更新的学生列表,并将页面重定向到当前页面。
以上是将列表项绑定到Razor Pages表单控件的解决方法,并包含相关的代码示例。您可以根据您的实际需求进行调整和修改。