Ok, так что я написания вид получить следующую модель:Возвращение выбор списка объектов с точки зрения
public class OrderCourseViewModel
{
public Department Department { get; set; }
public IEnumerable<LocalizedCourse> Courses { get; set; }
public IEnumerable<Profile> People { get; set; }
public int SelectedCourseId { get; set; }
public IEnumerable<int> SelectedPeopleList { get; set; }
}
Идея заключается в том, что пользователь представлен мастер-зрения. Первая страница - это список курсов, в которых они могут выбрать один курс. Затем нажмите «Далее», и они будут представлены списком людей и могут сделать выбор. Затем нажмите еще раз, чтобы получить обзор того, что они выбрали.
Выбранный CourseId был простым использованием javascript для установки скрытого значения, но у меня возникли проблемы с получением идентификаторов людей, выбранных в список SelectedPeopleList.
Чтобы сделать это хуже Я не использую флажки или что-то в этом роде, я составляю список div, которые вы можете включить/выключить.
Вот люди-часть Выбор зрения:
<div class="row">
<div class="wiz2">
@foreach (var person in Model.People)
{
@Html.Partial("_SelectCoursePerson", person)
}
</div>
</div>
здесь является небольшим видом _SelectCoursePerson
@model Kursbyen.Profile
<div class="col-sm-10 img-rounded course" style="border: solid 1px #000000; padding:15px; margin:10px" onclick="javascript: toggleSelected(this, @Model.Id);">
<div class="col-sm-4"><profile picture></div>
<div class="col-sm-8" style="padding-right:5px">@Model.LastName, @Model.FirstName</div>
</div>
Как вы, наверное, можно сказать, я несколько неопытен в аспида, но это мой подход совершенно глупый? Должен ли я делать это по-другому? Пожалуйста, помогите, если сможете.
Если возможно, я, конечно, также хотел бы поддерживать состояние, чтобы я мог вернуться и по-прежнему иметь те же самые люди, которые переключались даже после обновления.
Заранее спасибо
Что делает toggleSelected делать? Что происходит на форме submit? Чтобы вернуть выбранные люди на сервер при следующем запросе, вам нужно как-то создать данные формы из них. Вы можете сделать это, добавив INPUT-элементы в DOM или создав данные формы в javascript, которые запускаются при отправке формы. – esmoore68
atm all toggleSelected is is toggle класс, показывающий, что выбран текущий человек или нет. Я думаю, проблема в том, что я не уверен, как писать элементы INPUT, чтобы привязка модели работала по назначению. – Thomas
Вы можете ознакомиться с http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/ для получения подробной информации о том, как работает привязка модели к IEnumerables. Вам все равно придется иметь дело с тем, чтобы эти элементы были добавлены в DOM как элементы INPUT. – esmoore68