powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Асинхронное выполнение метода [HttpGet] для частичного представления
9 сообщений из 9, страница 1 из 1
Асинхронное выполнение метода [HttpGet] для частичного представления
    #38279977
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Подскажите, пожалуйста, как можно решить следующую задачу:

В представлении имеется частичное представление partPwd, которое вызывается так:
Код: c#
1.
2.
3.
4.
5.
6.
@using (Ajax.BeginForm("partPwd", new AjaxOptions { UpdateTargetId = "password" }))
{
    <div id="password">
        @{Html.RenderAction("partPwd");}
    </div>
}


В частичном представлении <input type="submit" .../> успешно вызывает свой метод [HttpPost] и Request.IsAjaxRequest()=true.

А как сделать так, чтобы и метод [HttpGet] тоже был ajax-овский?
Т.е. я хочу чтобы это частичное представление периодически обновлялось бы по таймеру.
Я вставил в частичное представление: <META HTTP-EQUIV="REFRESH" CONTENT="30">
Но передёргивается весь экран, а нужно, чтобы только частичное представление.
...
Рейтинг: 0 / 0
Асинхронное выполнение метода [HttpGet] для частичного представления
    #38281077
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ответ нашёл сам:
для асинхронной загрузки частичного представления его надо вызывать (из главного) при помощи jQuery:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
<script type="text/javascript">
    $(document).ready(function () {
        setInterval(function () {
            $('#part').load("controllerName/ActionName");
        }, 30000)
    });
</script>


Но я ещё хотел, чтобы частичное представление обновлялось с постоянным интервалом.
А у меня скрипт отрабатывает лишь 1 раз (через 30 сек). А ведь setInterval вроде должен инициировать событие постоянно.
Может, скрипт так себя ведёт лишь на локале? На хостинге будет всё нормально?
...
Рейтинг: 0 / 0
Асинхронное выполнение метода [HttpGet] для частичного представления
    #38281838
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оказалось, что скрипт нормально отраработает каждые 30 сек.
Не обновляется частичное представление. Похоже, кэшируется оно. Как это обойти?
...
Рейтинг: 0 / 0
Асинхронное выполнение метода [HttpGet] для частичного представления
    #38281846
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_VP,

Код: javascript
1.
$.ajaxSetup({ cache: false });
...
Рейтинг: 0 / 0
Асинхронное выполнение метода [HttpGet] для частичного представления
    #38281851
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_VP,

или

Код: javascript
1.
2.
3.
4.
5.
6.
7.
<script type="text/javascript">
    $(document).ready(function () {
        setInterval(function () {
            $('#part').load('controllerName/ActionName' + '?chunk=' + new Date().getTime());
        }, 30000)
    });
</script>
...
Рейтинг: 0 / 0
Асинхронное выполнение метода [HttpGet] для частичного представления
    #38281856
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_VP,

или

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
<script type="text/javascript">
    $(document).ready(function () {
        setInterval(function () {
            $.ajax({url: 'controllerName/ActionName', success: function(data) {
                 $('#part').html(data);
            }, cache: false});
        }, 30000)
    });
</script>
...
Рейтинг: 0 / 0
Асинхронное выполнение метода [HttpGet] для частичного представления
    #38281860
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey_VP,

или

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
<script type="text/javascript">
    $(document).ready(function () {
        setInterval(function () {
            $.post('controllerName/ActionName', function(data) {
                 $('#part').html(data);
            });
        }, 30000)
    });
</script>
...
Рейтинг: 0 / 0
Асинхронное выполнение метода [HttpGet] для частичного представления
    #38281876
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt, спасибо!!!
Заработало!
...
Рейтинг: 0 / 0
Асинхронное выполнение метода [HttpGet] для частичного представления
    #38283158
Andrey_VP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Теперь частичное представление "живёт своей жизнью", периодически обновляет некоторую статусную информацию.
Но вот настал момент и статус изменился - надо бы теперь обновить всю страницу целиком или, вообще, другую вызвать.
Как это можно сделать?
Как передать управление из метода для частичного представление в главное? Может, через какие-то глобальные переменные?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Асинхронное выполнение метода [HttpGet] для частичного представления
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]