ASP.NET Контроллер MVC теряет данные модели представления при отправке нескольких частичных представлений

#asp.net-mvc #viewmodel

Вопрос:

Я перепробовал много вещей, но так и не смог этого понять. Вот мой сценарий:

  1. Я не хочу фиксироваться в базе данных до тех пор, пока не будет нажата окончательная отправка. Таким образом, это отношение «один ко многим» с клиентами и типами заказов. например, у одного клиента может быть заказ на 2 брюки и 3 рубашки и так далее. Поэтому я определил свою модель представления как
      public class FullCustomerOrderViewModel
     {
         public CustomerOrdersViewModel CustomerOrderVM { get; set; }
         public List<PantMeasurementsViewModel> PantOrdersList { get; set; }
         public List<ShirtMeasurementsViewModel> SSOrdersList { get; set; }
     }
     
  2. У меня есть отдельные кнопки для обоих типов заказов (хотя я думаю, что должен заполнить один div при нажатии кнопки, но не могу этого сделать, поэтому я отображаю оба «Частичных представления» следующим образом:
      <div id="divPantsOrderMain" hidden>
         @Html.Partial("_PantsOrder", Model);
     </div>
     <div id="divShirtOrderMain" hidden>
         @Html.Partial("_SSOrder", Model);
     </div>
     
  3. Я вызываю отправку для каждого заказа на брюки, отправку и заказ рубашек, как это:
      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 , но во второй раз она теряет все данные в моделях представления.

Я не знаю, следует ли мне сохранять данные при каждой отправке и перезагружать модель представления. Это было бы тяжело для сервера, верно?

Итак, мне нужно решение, а также предложение о том, как мне этого достичь.

Спасибо.