在ASP.NET MVC中提交包含现有选择的多个复选框选择并保存新修改的项,可以按照以下步骤进行:
<input type="checkbox">
元素来创建复选框,也可以使用ASP.NET MVC的Html.CheckBox
或Html.CheckBoxFor
辅助方法来生成复选框。Item
的模型类,可以为每个选项定义一个布尔类型的属性,如IsSelected
。FormCollection
对象或模型绑定来接收表单数据。下面是一个示例代码:
在视图中(例如,Index.cshtml
):
@model List<Item>
@using (Html.BeginForm("SaveItems", "Home", FormMethod.Post))
{
for (int i = 0; i < Model.Count; i++)
{
<div>
@Html.HiddenFor(m => m[i].Id)
@Html.CheckBoxFor(m => m[i].IsSelected)
@Html.LabelFor(m => m[i].IsSelected, Model[i].Name)
</div>
}
<input type="submit" value="Save" />
}
在控制器中(例如,HomeController.cs
):
public class HomeController : Controller
{
public ActionResult Index()
{
// 获取现有的选项列表
List<Item> items = GetItemsFromDatabase();
return View(items);
}
[HttpPost]
public ActionResult SaveItems(List<Item> items)
{
// 保存更新后的选项列表到数据库
SaveItemsToDatabase(items);
return RedirectToAction("Index");
}
private List<Item> GetItemsFromDatabase()
{
// 从数据库获取选项列表的实现
// 返回一个包含选项的List<Item>对象
}
private void SaveItemsToDatabase(List<Item> items)
{
// 将选项列表保存到数据库的实现
}
}
在模型中(例如,Item.cs
):
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsSelected { get; set; }
}
这样,当用户在视图中选择了某些复选框并提交表单时,控制器将接收到包含选中状态的模型列表。然后,控制器可以将更新后的模型保存到数据库中。
对于以上示例中的模型和视图,腾讯云提供的相关产品和产品介绍链接地址如下:
请注意,以上链接仅为示例,实际使用时应根据具体需求和情况选择适合的腾讯云产品。
领取专属 10元无门槛券
手把手带您无忧上云