我有点困惑。
我有一个非常标准的 MVC3 设置:Home Controller/Index 方法,ViewModel 的强类型视图。
我的 ViewModel 是三个通用列表(方案、类型、表)的集合,
TableModel Schemes List TypesList TablesList
方案和类型填充下拉列表以充当第三个(表)集合的过滤器,该集合通过 @foreach 循环填充 HTML 表
我通过调用 Home/Index(无参数)填充这些。这工作正常。现在,我想通过选中一个复选框来标记 TablesList 集合中的许多行以进行删除,然后在单击提交时,我希望通过 Post 执行删除操作,并将剩余表刷新到表内容中同一个地方(替换现有的 HTML 表
在我的索引视图中,我有这个部分:
@using (Html.BeginForm("DeleteTables", "Home"))
{
@Html.Hidden("tableList", @Model.TablesList)
<input id="deleteButton" type="submit" />
}
在我的 HomeController 我有一个 POST 方法如下
[HttpPost]
public ActionResult DeleteTables(List<ViewModel.ITableInformation> tableList)
{
var deleteableTableIds = from t in tableList
where t.DeleteTable
select t.TableId;
this.tableModel.DeleteTablesById(deleteableTableIds.ToList());
.... execute a db call to get remaining tables and return a PartialView or JSON
}
问题是我希望这个函数的tableList参数包含我的模型,但它是空的。
知道我做错了什么-恐怕对此很陌生。
谢谢