Я использую Asp.net MVC и хочу, чтобы мое частичное представление обновлялось с интервалом, что происходит до тех пор, пока я не сделаю несвязанный запрос Ajax, а затем остановится.
Вот несколько упрощенных примеров, иллюстрирующих проблему.
в AjaxRefresh.js:
function ajaxRefresh()
{
var f = $("#AjaxForm");
$("#AjaxLoading").show();
$.post(f.attr("action"), f.serialize(), function (context) {
$("#AjaxDiv").html(context);
$("#AjaxLoading").hide();
});
}
setInterval(ajaxRefresh, 1000);
в Index.aspx:
<script type="text/javascript" src="../../Scripts/AjaxRefresh.js"></script>
<div id="AjaxDiv">
<% Html.RenderPartial("Computers", Model, ViewData); %>
</div>
и это в Computers.ascx:
<% Ajax.BeginForm("Index", new { groupName = Model.Name }, new AjaxOptions() { HttpMethod = "Post", LoadingElementId = "AjaxLoading", UpdateTargetId = "AjaxDiv" }, new { id = "AjaxForm" }); Html.EndForm();%>
<%= Ajax.ActionLink("Send", "Index", new { groupName = Model.Name, data="blah" },
new AjaxOptions() { HttpMethod="Post", LoadingElementId="AjaxLoading", UpdateTargetId="AjaxDiv" }) %>
Если щелкнуть ссылку «Отправить», все по-прежнему работает, но страница перестает обновляться автоматически.
Я пытался подписаться на события ajax, но Sys.WebForms.PageRequestManager.getInstance () не определен.