Я создаю мастер, и мне нужно развернуть список, который я создал. Список моей модели контактов. Мне нужно поместить это в форму, чтобы, когда я вернусь к контроллеру на своем последнем шаге, у меня будет список контактов как часть модели мастера (теперь он просто возвращает null). Для других объектов простой формы я использую HiddenFor для хранения данных в модели. Это не работает, потому что скрытый - это просто текстовое поле, и у меня есть сложный объект.Добавить список скрытых моделей в форму Razor
Я подумал о создании DropDownListFor и обертывании его в скрытый div. Это просто пэчворк и на самом деле займет немного работы, чтобы получить DropDownListFor для принятия другого типа объекта (если он вообще будет работать).
Я рассмотрел вопрос о сохранении списка в Session ["Contacts"], но это не похоже на правильный путь MVC. Есть ли у кого-нибудь лучшие предложения?
Спасибо, TJ
--UPDATE--
В ответ на merekel я добавляю больше деталей, чтобы уточнить, где я имею вопрос. Этот список не изменяется пользователем и не отображается в форме. Я создаю список на одном из шагов мастера и сохраняю его в своей модели.
вид Модель
public class WizardViewModel
{
//...
public List<Contact> ContactList { get; set; }
//...
}
Код контроллера
//Step 4 in the wizard
model.ContactList = CALL FUNCTION THAT CREATES LIST BASED ON FORM SELECTIONS
//other calculations needed for step 5
//Save Contacts for later
Session["Contacts"] = model.ContactList;
//Step 5 in the wizard
//Readd the contacts to the model
model.ContactList = (List<Contact>)Session["Contacts"];
//Save the model to pass to the report page
//My report viewer is on an ASPX page so I am passing all the data here with a session
Session["ReportModel"] = model;
Сеанс сохранения произведений, как и ожидалось. Мне просто не кажется, что я должен использовать сеансы для сохранения данных со страницы на страницу с помощью MVC. Мне нужно, когда вы переходите от MVC к ASPX, поэтому меня не беспокоит Session ["ReportModel"] только Session ["Contacts"]. Благодарим вас за любые предложения.
Вам нужно будет опубликовать, как выглядят ваши действия и что ваша модель находится на виду. Является ли 'model' в вашем контроллере кодом типа' WizardViewModel'? Пока неясно, на каком этапе находится ваш код контроллера. Вывешен ли код контроллера для создания формы? – merekel