首页 > 解决方案 > 关联动态生成的控件

问题描述

我有一个包含一些表单控件的动态生成行的表。每行都有一个带有 Id 值的复选框和带有一些其他数据的文本框。在控制器操作中处理传入的表单数据时,来自文本框的值和来自复选框的 id 值之间不匹配。有没有一种简单、干净、有效的方法来解决这个问题?

我考虑过在文本框名称中添加一个 Id 值,以将复选框值与文本框值匹配,但这似乎是一种肮脏的方式。

HTML 代码如下所示(经过一些修改):

<table>
<tr>
<td> <input type="text" name="Users[0].Date"/> </td>
<td><input type="checkbox" name="Users[0].Id"/> <td>
</tr>

有没有办法将此数据绑定到某个干净的模型并在表行中的数据之间进行匹配?

控制器动作:

public ActionResult Edit(EditViewModel model)
{
}

视图模型:

public class EditViewModel{
    ICollection<UserItem> Users{ get; set; }
}

public class UserItem{
    public DateTime Date{ get; set; }
    public int Id{ get; set; }
}

标签: c#asp.net-mvc

解决方案


推荐阅读