В MVC
приложении я присоединился к нескольким таблицам и возвращают его от Controller
до View
, как показано ниже:Связывание Model.ID к списку Checkbox и пост Model.X, Model.Y и т.д. свойств в контроллер
| EmployeeID | ControlID | DoorAddress | DoorID | DoorName |
------------------------------------------------------------
| 921 | 1 | 1 | 101 | Door 1 |
| 921 | 1 | 2 | 102 | Door 2 |
| 921 | 1 | 3 | 103 | Door 3 |
| 921 | 1 | 4 | 104 | Door 4 |
------------------------------------------------------------
контроллер:
public ActionResult Edit(int? id)
{
// Create and execute raw SQL query.
string query = "SELECT a.EmployeeID, a.ControlID, a.DoorAddress, t.DoorID, t.DoorName FROM TEmpAccess AS a " +
"INNER JOIN TDoor AS t ON a.ControlID = t.ControlID and a.DoorAddress = t.DoorAddress where EmployeeID = " + id.ToString();
IEnumerable<EmpAccessViewModel> data = db.Database.SqlQuery<EmpAccessViewModel>(query);
return View(data.ToList());
}
Я хочу связать DoorName
значения (дверь 1, 2 дверные, дверные 3, дверные 4) в checkbox list
и позволить пользователю выбрать их. После этого я хочу передать соответствующие EmployeeID
, ControlID
, DoorAddress
, DoorID
значения выбранной двери на Controller
. Например, если пользователь выбирает дверь 1 и дверь 3, то я передать эти значения ниже к Controller
:
| EmployeeID | ControlID | DoorAddress | DoorID |
-------------------------------------------------
| 921 | 1 | 1 | 101 |
| 921 | 1 | 3 | 103 |
-------------------------------------------------
С помощью синтаксиса razor
или javascript
в представлении, как я могу это сделать? Заранее спасибо.
Используйте вид модели в том числе 'свойство BOOL IsSelected' так что вы можете связать его с флажком. См. [Этот ответ] (http://stackoverflow.com/questions/29542107/pass-list-of-checkboxes-into-view-and-pull-out-ienumerable/29554416#29554416) для примера –
@StephenMuecke Спасибо, но в данных ответах нет списка флажков. Не могли бы вы привести пример относительно моего вопроса (я вернул данный список выше, используя sql-запрос), имея список флажков? – hexadecimal
Конечно! Изучите его - каждый элемент в коллекции имеет связанный с ним флажок. Когда форма отправлена, вы можете запросить возвращенную коллекцию и получить выбранные элементы, используя '.Where (m => m.IsSelected)' –