#asp.net-mvc #viewmodel
Вопрос:
Я перепробовал много вещей, но так и не смог этого понять. Вот мой сценарий:
- Я не хочу фиксироваться в базе данных до тех пор, пока не будет нажата окончательная отправка. Таким образом, это отношение «один ко многим» с клиентами и типами заказов. например, у одного клиента может быть заказ на 2 брюки и 3 рубашки и так далее. Поэтому я определил свою модель представления как
public class FullCustomerOrderViewModel { public CustomerOrdersViewModel CustomerOrderVM { get; set; } public List<PantMeasurementsViewModel> PantOrdersList { get; set; } public List<ShirtMeasurementsViewModel> SSOrdersList { get; set; } }
- У меня есть отдельные кнопки для обоих типов заказов (хотя я думаю, что должен заполнить один div при нажатии кнопки, но не могу этого сделать, поэтому я отображаю оба «Частичных представления» следующим образом:
<div id="divPantsOrderMain" hidden> @Html.Partial("_PantsOrder", Model); </div> <div id="divShirtOrderMain" hidden> @Html.Partial("_SSOrder", Model); </div>
- Я вызываю отправку для каждого заказа на брюки, отправку и заказ рубашек, как это:
if (btnSave == "Save Pants Order") { updatedModel = SavePantsOrderTemp(model); return View(model); } else if (btnSave == "Save Shalwar Suit Order") { updatedModel = SaveSSOrderTemp(model); return View(model); }
ПРОБЛЕМА: когда я отправляю форму в первый раз, все в порядке, и она сохраняется TempData
, но во второй раз она теряет все данные в моделях представления.
Я не знаю, следует ли мне сохранять данные при каждой отправке и перезагружать модель представления. Это было бы тяжело для сервера, верно?
Итак, мне нужно решение, а также предложение о том, как мне этого достичь.
Спасибо.