使用ASP.NET Core更新多条记录的复选框的解决方法如下:
首先,创建一个视图模型类来表示多条记录的复选框状态:
public class ItemViewModel
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsSelected { get; set; }
}
然后,在控制器中,将需要更新的记录数据传递给视图:
public IActionResult Index()
{
// 获取需要更新的记录数据
var items = GetItemsFromDatabase();
// 将记录数据转换为视图模型
var itemViewModels = items.Select(item => new ItemViewModel
{
Id = item.Id,
Name = item.Name,
IsSelected = false // 默认复选框状态为未选中
}).ToList();
return View(itemViewModels);
}
接下来,在视图中,使用foreach
循环来显示每个复选框,并将复选框值与视图模型的IsSelected
属性绑定:
@model List
最后,在控制器中,处理更新请求并更新数据库中的记录:
[HttpPost]
public IActionResult Update(List items)
{
if (ModelState.IsValid)
{
foreach (var item in items)
{
// 更新数据库中的记录
UpdateItemInDatabase(item);
}
// 返回更新成功的视图或重定向到其他页面
return View("Success");
}
// 返回更新失败的视图
return View("Error");
}
在上述代码中,GetItemsFromDatabase
和UpdateItemInDatabase
是自定义的方法,用于从数据库中获取记录数据和更新记录。你需要根据你自己的需求来实现它们。
这样,当用户提交表单时,控制器将接收到一个包含所有复选框状态的视图模型列表。然后,你可以在控制器中遍历列表,并根据每个复选框的状态来更新数据库中的记录。