Отправка только выбранных полей в качестве свойств в asp.net mvc - PullRequest
0 голосов
/ 03 февраля 2010

У меня есть представление для редактирования информации отдела. В этом представлении перечислены все сотрудники, и пользователь выбирает, какие сотрудники работают в этом отделе. Есть ли способ представить только выбранных сотрудников в качестве отдела. Сотрудники (без использования JavaScript)?

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

1 Ответ

0 голосов
/ 04 февраля 2010

Вы не можете действительно выбрать то, что вы «отправляете» со страницы без javascript, чтобы манипулировать формой, но зачем вам это нужно?

Если вы просто выбираете сотрудников из списка, вы можете просто зациклить всех сотрудников в модели и создать для них флажок (возможно, вам придется вручную отобразить, как показано ниже - Html.Checkbox не работаетдля нескольких флажков с одинаковым именем)

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

Затем в своем действии вы можете сделать что-то вроде этого:

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

, предполагая, что идентификатор сотрудника является целымЗатем вы можете соответствующим образом обработать этот список (будут представлены только проверенные сотрудники).У него нет привязки модели, которую вы использовали ранее, но в этом случае он действительно не поддается обработке таким образом.

...