Я изучаю использование частичных представлений в MVC3 с использованием Razor, и я получаю мое частичное представление для рендеринга, и оно отлично работает.
Однако я хотел бы обновить родительское представление при отправке частичного представления.
Код в моем родительском представлении для отображения частичного представления
<div id="mydiv">
@{ Html.RenderAction("Add", "Request"); }
</div>
Действие для родительского представления простое,
public ActionResult Index()
{
List<obj> reqs = //some query
return View(reqs);
}
В моем частичном представлении я получаю действие:
public ActionResult Add()
{
AddRequestViewModel vm = new AddRequestViewModel();
//set some stuff on the VM here
return PartialView(vm);
}
В действии публикации, вызванном частичным представлением, если состояние модели недопустимо, return PartialView(vm)
Если это действительно так, я бы хотел обновить родительский и частичный представления.
Я попытался RedirectToAction, но это не может быть вызвано в действии, вызванном частичным, по-видимому, и я попытался return Index();
, но это вызывает проблему с кодом, используемым для визуализации частичного представления,
Exception Details: System.InvalidOperationException: The model item passed into the dictionary is of type 'System.Collections.Generic.List'1[DatRequests.Models.ReqRequest]', but this dictionary requires a model item of type 'DatRequests.ViewModels.AddRequestViewModel'.
Буду признателен за любые предложения о том, как это сделать. Цель страницы - показать список элементов, а часть содержит форму для добавления нового элемента в список.
Edit:
Модель партиала отличается, так как содержит данные для выбора, которые взяты из БД, поэтому я попробовал RenderAction, но я не уверен, есть ли другие способы сделать это.