2016-10-12 2 views
0

Моя проблема заключается в том, что у меня есть метод, который загружает некоторые данные. Потребовалось около 10-15 секунд, пока сайт не будет загружен. Я хочу добавить индикатор прогресса на сайт, чтобы пользователь мог показать ему, сколько времени потребуется для полной загрузки веб-сайта.Progress Bar в C#

Я сделал индикатор выполнения с шагом.js и добавил его в .html. Проблема в том, что мне нужно что-то в контроллере, потому что html начнется после завершения моего метода. На данный момент я запускаю свой сайт, загружая данные, и после этого мой индикатор выполнения появляется на секунду. Могу ли я добавить свой скрипт к кнопке или есть другое решение?

Thanks

+1

Делитесь своим кодом – Alexis

+0

Я не могу ... Но код не имеет значения. У меня есть тесты на Ping ... и пока программа проверяет этот тест, я хочу иметь индикатор выполнения на моем веб-сайте. Теперь мой вопрос: как я могу разработать индикатор выполнения в моем коде на C#? Это возможно? – Mister

+0

как насчет вызова функции JS в вашем методе? как [здесь] (http://stackoverflow.com/questions/5731224/calling-javascript-function-from-codebehind) – Badiparmagi

ответ

1

Индикатор выполнения инициализируется после загрузки нагрузки. Фактически, загрузка происходит на сервере, прежде чем отправить его в браузер. Я хотел бы решить эту проблему следующим образом:

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

  2. У меня было бы загруженное событие в браузере, где я бы инициализировал индикатор выполнения.

  3. После инициализации строки выполнения я отправил отдельный код AJAX для каждой подзадачи медленной задачи (да, я бы разделил медленную задачу, если это было возможно).

  4. Эти асинхронные запросы AJAX будут иметь обратный вызов, который обновит статус индикатора выполнения в соответствии с текущей ситуацией. Последний обратный вызов закроет дверь (завершите жизненный цикл индикатора выполнения).