如何在UpdatePanel中触发ProgressTemplate的显示?

时间:2016-03-14 21:39:35

标签: javascript c# jquery asp.net bootstrap-datetimepicker

在asp.net网站上工作。在其中一个页面中,我使用的是一个UpdatePanel,里面有一个ProgressTemplate(它包含一个“updating.gif”)。在同一页面上,我还有一个jQuery / bootstrap日期范围选择器。

当我选择日期范围时,我使用___doPostBack进行回发。一切都很好,回发等......但问题是更新.gif永远不会出现。但是,我希望它(至少在“处理”时)。

问题:我怎么能用javascript,在Page_Load等中做到这一点?谢谢!

“更新”面板定义为....

       <asp:UpdateProgress runat="server" ID="UpdatePanel1_UpdateProgress1" AssociatedUpdatePanelID="UpdatePanel1">
        <ProgressTemplate>
            <div class="ajaxUpdatePanel">
            </div>
            <div style="position: absolute; padding: 30px;" class="updatingContainer">
                <img src="../Images/updating.gif" alt="Updating" />
            </div>
        </ProgressTemplate>
    </asp:UpdateProgress>
    <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
        <ContentTemplate>
                 :
                 :

日期范围选择器定义为....

 <asp:TextBox ID="daterange" name="daterange" 
    class="jQuery_DateRangePicker" runat="server" Width="110px"></asp:TextBox>

当选择日期时,我会这样做(除其他外)....

__doPostBack('daterange', '');

我也试过在这里包装javascript代码,但没有显示......

$get('<%= UpdatePanel1_UpdateProgress1.ClientID %>').style.display = 'block';
 // do all the processing
$get('<%= UpdatePanel1_UpdateProgress1.ClientID %>').style.display = 'none';

2 个答案:

答案 0 :(得分:0)

那里使用的ajaxUpdatePanel是什么?我的猜测是,它与它有关,虽然不确定,因为它似乎并没有做任何事情。

理论上,在服务器端调用正在为指定的更新面板工作期间调用进度模板。

查看此link以查看一些示例。

答案 1 :(得分:0)

您可以使用AjaxToolkit吗?如果是,那么

<ajaxToolkit:ModalPopupExtender ID="modalPopup" runat="server" TargetControlID="UpdateProgress"
PopupControlID="UpdateProgress" BackgroundCssClass="modalPopup" />

请检查完整示例: update panel and progress bar example by code