Привет всем. Хорошо, вот ситуация. Я хотел бы иметь возможность загружать серию похожих частичных представлений на родительскую страницу; почти так же, как это делается в этой статье (имитация панелей AJAX).
В статье все работает нормально, так как асинхронно вызывает соответствующий метод действия на контроллере. Но метод, который он использует, в лучшем случае выглядит как хакерский, и выглядит не очень элегантно. Краткий обзор того, что происходит:
Это будет независимый виджет, который загружается асинхронно.
<% using (Ajax.Form("ReportOne", null,
new AjaxOptions { UpdateTargetId = "resultOne" },
new { id="reportFormOne" })) { } %>
<script type="text/javascript">
$get("reportFormOne").onsubmit();
</script>
Соответствующий вывод будет иметь вид:
<form action="/Home/ReportOne/reportFormOne" onsubmit="Sys.Mvc.AsyncForm.handleSubmit(this, { insertionMode: 0, updateTargetId: 'resultDiv' }); return false;">
<!-- Your form elements here... -->
</form>
Как я уже говорил выше, это не кажется действительно изящным способом достижения этой цели, но я пытался найти альтернативу для этого (используя jQuery или другие средства), и не смог при этом.