【发布时间】:2012-09-13 21:30:08
【问题描述】:
我有点困惑。
我有一个非常标准的 MVC3 设置:Home Controller/Index 方法,ViewModel 的强类型视图。
我的 ViewModel 是三个通用列表(Schemes、Types、Tables)的集合,
表模型 方案清单 类型列表 表格列表
Schemes 和 Types 填充下拉列表以充当第三个(Tables)集合的过滤器,该集合通过 @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 参数包含我的模型,但它是空的。
知道我做错了什么 - 恐怕对这个很陌生。
谢谢
【问题讨论】:
标签: asp.net asp.net-mvc-3 model-binding