我在前端显示一个表,其中表记录是可编辑的,每个记录都有一个复选框。
如果通过选中并提交相应的复选框选择了某些记录,则所有选定的记录都必须存储在后端表中。
是否可以使用Asp.net MVC3?
如果是,如何将视图列表从View传递给控制器和模型?
答案 0 :(得分:1)
据我了解,您希望在发布期间将所选复选框的数组传递给ActionResult。 见下面的例子
<强>型号:强>
public class EditableItemModel
{
public bool SelectedItem { get; set; }
public string Name { get; set; }
}
<强>控制器:强>
public ActionResult Index()
{
var model = new EditableItemModel[]
{
new EditableItemModel { SelectedItem = true },
new EditableItemModel()
};
return View(model);
}
[HttpPost]
public ActionResult Index(EditableItemModel[] tableItems)
{
IEnumerable<EditableItemModel> selectedItems = tableItems.Where(i => i.SelectedItem);
return RedirectToAction("Index");
}
查看:强>
@using CheckboxInTableExample.Models;
@model EditableItemModel[]
@using (Html.BeginForm("Index"))
{
<table>
@for (int i = 0; i < Model.Length; i++)
{
<tr>
<td>
@Html.CheckBoxFor(m => m[i].SelectedItem)
</td>
<td>
@Html.EditorFor(m => m[i].Name)
</td>
</tr>
}
</table>
<input type="submit" title="Submit" />
}
希望这会有所帮助。