Я сейчас экспериментирую с некоторыми AJAX. У меня есть настраиваемый элемент управления, который появляется на моей главной странице, в которой есть панель обновления и таймер. Таймер срабатывает и панель обновляется, и все денди. Кроме того, что есть некоторые операции, которые я не хочу, чтобы они выполнялись при каждом обновлении. Кажется, что весь жизненный цикл страницы происходит с каждым обновлением. Есть переменные, которые я хочу установить, и сохраняю их значение при обновлении. Есть ли способ заставить его выполнять ТОЛЬКО то, что в вызове timer_tick?C# updatepanel с таймером page_load
ответ
UpdatePanels всегда заставляют всю страницу обновляться. Если вы хотите обрабатывать только определенную часть страницы (и это фиксированный размер), вы можете попробовать использовать iframe.
В качестве альтернативы, если вы хотите сохранить переменные, которые вы можете поместить их в ViewState или SessionState таким образом, чтобы они сохранялись между постбэков
Вы могли бы взглянуть на запрос [ «__ EventTarget»] в случае загрузки страницы чтобы увидеть, какой контроль вызвал обратную передачу. Если это таймер, выпрыгните из функции.
Предполагая, что таймер называется «refreshtimer»:
protected void Page_Load(object sender, EventArgs e)
{
if (Request["__EVENTTARGET"] == "refreshtimer")
{
return;
}
// etc
Не уверен, что какая AJAX.Net пост обратно выглядит как, но я обычно предохранить другие элементы управления и содержимое, проверяя на пост обратно;
protected void Page_Load(object sender, EventArgs e)
{
// if its a post back then my controls should already be setup...
if (!Page.IsPostBack)
{
InitControlData();
}
}
, а затем он должен упасть до вашего управления событиями?
protected void timer_tick(object sender, EventArgs e)
{
// Do my Ajaxy work~
}
Это невозможно с UpdatePanels ... вся страница будет проходить весь жизненный цикл. Как уже упоминалось, вы можете ограничить обработку, которая происходит с использованием IsInSyncPostBack IsPostBack или ScriptManager, но в конечном итоге это не будет отличным решением для сложных страниц.
Однако вы можете использовать страницу Методы, чтобы выполнить только один статический метод на вашей странице, но вам нужно будет самостоятельно вызвать Javascript и обновить интерфейс. Вот некоторые примеры:
- 1. Проблема с таймером в UpdatePanel Asp.net C#
- 2. ASP.NET UpdatePanel dosn't работу с Response.Write в Page_Load
- 3. Updatepanel с таймером и ReportViewer дает ошибки JavaScript
- 4. GridView мерцает при размещении внутри UpdatePanel с таймером (asp.net)
- 5. Как получить событие ASP.NET page_load для запуска обновления AJAX UpdatePanel
- 6. Page_Load in C#
- 7. C# Использование onPaint с таймером
- 8. C++ многопоточное программирование с таймером
- 9. Диалоговое окно C++ С таймером
- 10. Невозможно выполнить javascript для управления таймером внутри UpdatePanel
- 11. C++ Управление таймером
- 12. C# page_unload стрельба вместе с после page_load
- 13. Проблема с asp.net C# focus, page_load
- 14. javascript function in C# Page_Load
- 15. Управление таймером Ajax в asp.net C#
- 16. Имея миллисекунды в объективе с таймером c
- 17. Статическая очередь FIFO с таймером C#
- 18. нарисовать эллипс внутри эллипса с таймером C#
- 19. C# обнаружение отключения от сервера с таймером
- 20. C# WinService с управляемыми таймером процессами threadpool
- 21. Остановить программу с таймером
- 22. UpdatePanel с AsyncPostback пытается обновить управление вне UpdatePanel
- 23. Обновить родительский UpdatePanel из Child UpdatePanel - Условно
- 24. Синхронизация службы с таймером
- 25. Почему загрузка данных на page_load?
- 26. UpdatePanel сводит меня с ума - динамически создал UpdatePanel проблемы
- 27. проблемы с таймером качания
- 28. UpdatePanel in MasterPage
- 29. C# Windows Phone 8.1 Непоследовательные проблемы с таймером с периодическим таймером
- 30. ASP.Net C# AjaxControlToolkit таймер с UpdatePanel
Что код timer_tick делать? –