仅在asp.net mvc中提交所选字段作为属性

时间:2010-02-03 20:44:26

标签: .net asp.net-mvc checkboxlist

我有一个编辑部门详细信息的视图。在此视图中,列出了所有员工,用户选择在该部门中工作的员工。有没有办法只提交选定的员工作为department.Employees(不使用javascript)?

public ActionResult(Department department)
{
    Save(department); // department.Employees should only contain checked employees
}

1 个答案:

答案 0 :(得分:0)

您无法从页面中选择“提交”内容而无需使用javascript来操作表单,但为什么需要这样做呢?

如果您只是从列表中选择员工,您可以围绕模型中的所有员工循环并为它们创建一个复选框(您可能必须手动呈现如下 - Html.Checkbox似乎不适用于多个检查同名的盒子)

<input type="checkbox" value="<%= Html.Encode(employee.Id)%>" name="employeeForDepartment" />

然后在你的行动中你可以做这样的事情:

public ActionResult Bla(int departmentId, int[] employeeForDepartment) .....

假设员工ID是int。然后,您可以相应地处理该列表(仅提交已检查的员工)。它没有你之前使用过的模型绑定,但在这种情况下,它并没有真正以自己的方式处理它。