У меня есть список, затем я хочу передать его для просмотра. Я использую метод привязки модели. Вот мой код: Модель:привязка модели между представлением и ошибкой контроллера
public class Group
{
public string Name { get; set; }
public string GroupID { get; set; }
}
Контроллер:
public ActionResult Index()
{
return View(ListGroup);
}
[HttpPost]
public ActionResult Index(List<Group> listModel)
{
@ViewBag.Success = "Update Suceess";
return View(listModel);
}
[HttpPost]
public ActionResult Search(Group modelSearch)
{
List<Group> listResult = listGroup.Where(m=>m.GroupID == modelSearch.GroupID).ToList();
if (modelSearch.GroupID == null)
return View("Index", listGroup);
return View("Index", listResult);
}
В связи я хочу, чтобы отобразить список группой из GroupID
@using (Html.BeginForm("Index", "DisplayTable", FormMethod.Post))
{
<table>
<tr>
<td>Name</td>
<td>GroupID</td>
</tr>
@foreach(var items in Model.GroupBy(m => m.GroupID).Select(g => g.ToList())){
<tr><td colspan="2">@items.ElementAt(0).GroupID</td></tr>
for (int i = 0; i < items.Count; i++) {
<tr>
<td>@Html.TextBoxFor(m => items[i].Name)</td>
<td>@Html.TextBoxFor(m => items[i].GroupID)</td>
</tr>
}
}
</table>
<input type="submit" value="SAVE" />
}
Моя проблема заключается в: Если я использую код выше, данные отображения отображаются в группе правильно, но когда я нажимаю кнопку SAVE, он не посылал никаких данных контроллеру, ActionResult Index(List<Group> listModel)
получил нулевой список.
MORE ОБЪЯСНЕНИЕ: У меня есть список, как это:
- ИМЯ | GROUPID Ручка; A Чернила; B Pecil; A Книга; C Линейка; B NoteBook; C
Я хочу, чтобы отобразить его в виду, как это:
- GroupID: A - Pen: A | Карандаш: A
- Группа: B - Линейка: B | Чернила: B
- GroupID: C - Book: C | NoteBook: C
Если я использую этот код в представлении:
<td>@Html.TextBoxFor(m => items[i].Name)</td>
<td>@Html.TextBoxFor(m => items[i].GroupID)</td>
В результате с точки зрения является правильным, но это не может отправлять данные обратно в контроллер. Я обнаружил, что имя каждого поля Name
GroupID
не совпало с именем текстового поля в html.
Я использую группу в поле зрения, и я не знаю, что является лучшим способом в этом случае: Группируйте контроллер или в режиме просмотра. и Какова структура списка, если я группирую в контроллере.
вы должны пользователем список < > вместо IEnumerable, for и EditFor вы раньше искали? http://stackoverflow.com/questions/12696988/mvc-editing-a-list-of-objects – Murilo