Прежде всего, где находится документация для методов Ajax.*
в asp.net mvc?
Может ли Ajax.ActionLink
использоваться для вызова действия, получения частичного представления, открытия модального окна и размещения содержимого в нем?
Прежде всего, где находится документация для методов Ajax.*
в asp.net mvc?
Может ли Ajax.ActionLink
использоваться для вызова действия, получения частичного представления, открытия модального окна и размещения содержимого в нем?
Конечно, перед тем, как был задан вопрос о
Задайте ссылку действия по желанию:
@Ajax.ActionLink("Show",
"Show",
null,
new AjaxOptions { HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "dialog_window_id",
OnComplete = "your_js_function();" })
@Ajax.ActionLink требует jQuery AJAX Ненавязчивую библиотеку. Вы можете скачать его через nuget:
Install-Package Microsoft.jQuery.Unobtrusive.Ajax
Затем добавьте этот код в свой вид:
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")
Ajax.ActionLink отправляет на сервер запрос ajax. То, что происходит впереди, действительно зависит от типа возвращаемых данных и того, что делает с вашей клиентской стороной script. Вы можете отправить частичный вид для вызова ajax или json, xml и т.д. У Ajax.ActionLink есть разные обратные вызовы и параметры, которые позволяют вам писать код js для разных событий. Вы можете сделать что-то до отправки запроса или onComplete
. Аналогично, у вас есть обратный вызов onSuccess. Здесь вы помещаете свой JS-код для обработки результата, возвращаемого сервером. Вы можете просто вернуть его в UpdateTargetID, или вы можете придумать этот результат с помощью jQuery или другой библиотеки JS.
Здесь документация MSDN для Ajax.ActionLink
Здесь сообщение MSDN с некоторыми примерами, относящимися к Ajax.ActionLink
Для меня это сработало после того, как я загрузил AJAX Unobtrusive через NuGet:
Search and install via NuGet Packages: Microsoft.jQuery.Unobtrusive.Ajax
Чем добавить в представление ссылки на jquery и AJAX Ненавязчивый:
@Scripts.Render("~/bundles/jquery")
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"> </script>