У меня есть следующий код:
Вид :
@model IEnumerable<FormBuilder.Model.Formular>
<div id="divAktiveFormulare">
@{ Html.RenderPartial("Formular/TableAllFormulare", Model.Where(model => model.Status == FormularStatus.Aktiv).ToList()); }
</div>
<div id="divArchivierteFormulare">
@{ Html.RenderPartial("Formular/TableAllFormulare", Model.Where(model => model.Status == FormularStatus.Archiviert).ToList()); }
</div>
function btnArchivieren(e) {
$.ajax({
url: 'Url.Action("Archive", "Formular")',
data: { id: e.target.name },
success: function (data) {
$('#divArchivierteFormulare').html(data);
}
});
}
Контроллер :
public ActionResult Index()
{
List<Formular> aktiveformulare = _formularManager.GetAllFormulare();
return View(aktiveformulare);
}
public ActionResult Archive(int id)
{
Formular formular = _formularManager.GetFormularByID(id);
if (formular != null)
{
formular.Status = FormularStatus.Archiviert;
_formularManager.UpdateFormular(formular);
}
return PartialView("Formular/TableAllFormulare", _formularManager.GetAllFormulare());
}
Iесть два div (divAktiveFormulare
и divArchivierteFormulare
).В каждом из них представлен частичный вид.Частичные представления показывают таблицу элементов модели (модель IEnumerable
), и у каждого есть отфильтрованная модель после перечисления (например, Html.RenderPartial("Formular/TableAllFormulare", model => model.Status == FormularStatus.Archiviert
).
При загрузке страницы индекса дляВ первый раз все работает отлично.Я могу установить точку останова на RenderPartial()
-линии, и она остановится на этом.Оба частичных представления правильно отображают свои таблицы после отфильтрованной модели.
На моей странице у меня есть кнопка, и при нажатии на нее запускается Javascript btnArchivieren
, который отправляет ajax на контроллер.Действие вернет Partial View()
с обновленной моделью.
Но теперь моя точка торможения на RenderPartial()
больше не будет срабатывать.Да, div обновляется, да, но без фильтрации модели для частичных представлений (Model.Where(model => model.Status == FormularStatus.Archiviert
).Оба частичных представления показывают таблицу без фильтрации по перечислению.Как я уже сказал, моя точка торможения даже не сработала.
Что я делаю не так?Почему строки RenderPartial()
не выполняются после возврата частичного представления из контроллера с обновленной моделью?