2015-09-02 1 views
0

У меня есть страница отчета в моем приложении, и нет указания, что отчет запускается при нажатии кнопки. Поэтому я хочу добавить некоторый индикатор, похожий на старый курсор мыши в Access. Но я решил попробовать использовать JQuery Progress Bar.Индикатор выполнения JQuery, показывающий, что что-то происходит на странице

Я пошел на официальную страницу JQuery Progress Bar и нашел код для интеграции в мой проект. То, что я это на странице ASPX:

В заголовке:

<!--//********************************** 
    // Test Indeterminate Progress Bar 
    //********************************** --> 
<script type="text/javascript"> 
    //Total out of range dialog 
    $(function() { 
     $("#progressbar").progressbar({ 
      value: false 
     }); 
     $("button").on("click", function (event) { 
      var target = $(event.target), 
       progressbar = $("#progressbar"), 
       progressbarValue = progressbar.find(".ui-progressbar-value"); 
       progressbar.progressbar("option", "value", false); 
     }); 
    }); 

</script> 
<style> 
    #progressbar .ui-progressbar-value {  
     background-color: #ccc; } 
</style> 

В теле:

<div id="progressbar" style="visibility:hidden"></div> 

Так что теперь, что я ожидал, чтобы сделать заключается в том, чтобы сделать некоторый вызов в коде в событии OnClick кнопки, чтобы сделать индикатор выполнения видимым, а затем, когда код завершил выполнение, я снова сделаю его невидимым.

Прежде всего, это правильное предположение? И, во-вторых, как мне это сделать? Intellisense не распознает «progressbar» как объект.

+2

Ваше предположение неверно. Вы не можете обновлять интерфейс непосредственно в коде позади, код за запусками на сервере и обновления пользовательского интерфейса происходят, когда сервер возвращает обновленную страницу в браузер, javascript запускается в браузере. Если вы хотите, чтобы что-то происходило на сервере и индикатор выполнения в UIU, вам нужно сделать ajax-вызов веб-службы. Есть несколько элементов управления хаккой ajax, которые вы можете использовать для этих «UpdatePanel» и «UpdateProgress», они являются неуклюжим и тяжелым, но генерируют для вас весь код на стороне клиента. –

+0

Согласен с неправильным допущением. Лучший способ сделать это - создать службу, которая вызывается через пользовательский интерфейс (в вашем случае jQuery) и выполняет обновление. Вот два примера, которые могут помочь: http://jqueryasp.net/upload-multiple-image-file-progress-bar-asp-net-using-jquery/ http://jqueryasp.net/show-progress -бар-Asp-сетчатое использование-JQuery / – jdruid

ответ

0

Будучи, что прогресс бар не был на самом деле происходит, чтобы показать прогресс, я решил пойти с анимированными GIF с помощью жерех: UpdateProgress:

<asp:UpdateProgress ID="rptUpdate" runat="server" 
        AssociatedUpdatePanelID="upReports1" DynamicLayout="true"> 
    <ProgressTemplate> 
     <img src="images/Animated.gif"> 
    </ProgressTemplate> 
</asp:UpdateProgress> 

Это просто больше смысла для моей implimentation.

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

  • Нет связанных вопросов^_^