Запускать обновление asp.net mvc ajax автоматически каждые X минут - PullRequest
3 голосов
/ 13 октября 2009

У меня есть кнопка Обновить на моей странице, которая будет выполнять запись asp.net mvc ajax для обновления некоторого содержимого на странице. Процесс обновления / обновления может быть длительным (около 10-20 секунд). Прямо сейчас пользователь должен вручную нажать кнопку «Обновить», чтобы запустить обновление. Я хочу запускать обновление автоматически каждые X минут. В значительной степени я хочу вызвать тот же пост Ajax, как показано ниже (и было бы неплохо также отобразить LoadingElementId).

<% using (Ajax.BeginForm("Refresh", null, 
                   new {userId=Model.UserId},
                   new AjaxOptions { UpdateTargetId = "UserForm", LoadingElementId = "RefreshingDiv" },
                   null))
               {
            %>

                    <button type="submit">
                        <img src="/zsys/img/icons/refresh.png" alt="Refresh" />
                        Refresh
                    </button>

            <% } %>

Как я могу форсировать обратную передачу asp.net mvc ajax?

Ответы [ 3 ]

5 голосов
/ 13 октября 2009

Ответ Уайетта Барнетта заставил меня попробовать нажать кнопку «Обновить» для пользователя. А затем я использовал setInterval для запуска нажатия кнопки «Обновить» каждые 5 минут:

    <script src="../../scripts/jquery-1.3.2.min.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(document).ready(function() {
            setInterval("$('#RefreshFormButton').click()", 300000);
        });
    </script>
0 голосов
/ 18 июня 2010

Поместите RefreshFormButton в кнопку отправки идентификатора .... хорошо, вы получаете функцию JS для работы.

0 голосов
/ 13 октября 2009

Таймер jQuery + call $('#form').submit() должен помочь.

...