2015-03-20 3 views
0

Скажем, я хотел бы изменить текст элемента, в течение некоторого длительного функции в скрипте:Когда обновляется контент?

// Inside test.aspx.cs 
void SomeLongFunction_CalledOnClick() 
{ 
    this.idOfElement.Text = "something"; 
} 

Когда именно, это клиент посылает информацию об этом обновлении? Могу ли я заставить это случиться раньше?

+6

Добавить точку останова и узнать, когда это будет сделано, ознакомьтесь с жизненным циклом страницы для получения дополнительной информации. – skyfoot

+1

Не имеет значения, когда событие вызывается, поскольку вся страница будет перезагружена (или ее часть будет использоваться, если вы используете ajax), и результат будет отображаться в браузере. – skyfoot

+0

Я мог бы определить, когда это будет сделано с точкой останова, но я смотрел более концептуально - информация о жизненном цикле страницы - это именно то, что мне нужно. – Litty

ответ

1

Если вы используете веб-формы, содержимое браузера обновляется, когда выполняется этап рендеринга жизненного цикла страницы. Как правило, код в коде веб-формы заходит до этапа рендеринга.

Here is a link that explains the page lifecycle

Я боюсь, что если вы хотите, чтобы обновить пользовательский интерфейс, чтобы показать прогресс, модель веб-формы не сделал, чтобы работать таким образом. Весь контент отправляется в браузер как единое целое во время фазы рендеринга.

Если вы хотите, чтобы ваш пользовательский интерфейс показывал прогресс, вы могли опросить обновления с помощью вызовов ajax или использовать технологию SignalR (хотя это, вероятно, слишком велико для вашего использования).

+3

Это неверно, клиент ничего не увидит до тех пор, пока запрос не будет завершен, и ответ будет отправлен обратно клиенту. Нет простого способа заставить клиента видеть информацию раньше и все еще запускать вашу долговременную задачу (при условии, что вы также хотите отобразить результат задачи) – Matt

+0

У нас есть экран загрузки, который мы хотели бы сделать динамичным, чтобы увидеть что работает в течение долгой задачи. Это кажется невозможным тогда? – Litty

+2

Невозможно, просто сложно :) – Matt

Смежные вопросы