2012-07-17 61 views
2

我试图在页面上放置旋转的轮子弹出框,同时执行用于从数据库中提取新数据的后端代码。 这是我试过的,但它不想工作到目前为止,什么都不显示。 我想单击复选框(CheckedChanged)时显示某些内容,即从db中获取某些内容时。执行后端代码时旋转轮子asp.net

这里是Ajax代码我有:

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 

        <Triggers> 
         <asp:AsyncPostBackTrigger controlid="cbAll" eventname="CheckedChanged" /> 
        </Triggers> 

        <ContentTemplate> 
        </ContentTemplate> 

       </asp:UpdatePanel> 



<asp:updateprogress associatedupdatepanelid="UpdatePanel1" 
    id="updateProgress" runat="server"> 
    <progresstemplate> 
     <div id="progressBackgroundFilter"></div> 
     <div id="processMessage"> Loading...<br /><br /> 
      <img alt="Loading" src="../images/ajax-loader.gif" /> 
     </div> 
    </progresstemplate> 
</asp:updateprogress> 

这里是CheckBox控件:

<asp:CheckBox ID="cbAll" runat="server" Checked="true" Text="Show me everything" ForeColor="White" 
     Visible="false" AutoPostBack="True" 
     oncheckedchanged="cbAll_CheckedChanged" /> 

回答

1

修改代码一点。

您不需要触发器,事件具有AutoPostBack复选框。

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
     <%--<Triggers> 
      <asp:AsyncPostBackTrigger ControlID="cbAll" EventName="CheckedChanged" /> 
     </Triggers>--%> 
     <ContentTemplate> 
      <asp:CheckBox ID="cbAll" runat="server" Checked="true" Text="Show me everything" 
       ForeColor="White" Visible="false" AutoPostBack="True" OnCheckedChanged="cbAll_CheckedChanged" /> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
    <asp:UpdateProgress AssociatedUpdatePanelID="UpdatePanel1" ID="updateProgress" runat="server"> 
     <ProgressTemplate> 
      <div id="progressBackgroundFilter"> 
      </div> 
      <div id="processMessage"> 
       Loading...<br /> 
       <br /> 
       <img alt="Loading" src="../images/ajax-loader.gif" /> 
      </div> 
     </ProgressTemplate> 
    </asp:UpdateProgress> 

我希望这有助于。

0

我在过去通过跳过更新进度控制来完成类似事情,而是处理PageRequestManager beginRequest和endRequest事件。在我的情况下,我也想阻止页面的用户界面,所以我使用了jQuery blockUI插件。

把下面的div地方在您的网页根:

<div id="processMessage"> 
    Loading... 
    <br /> 
    <br /> 
    <img src="/images/ajax-loader.gif" alt="Loading" /> 
</div> 

和风格也与下面的CSS:

#updatingDiv 
{ 
    width: 75px; 
    height: 75px; 
    margin-left: auto; 
    margin-right: auto; 
    text-align: center; 
    padding: 10px; 
    display: none; 
    background-color: #EEEEEE; 
    border: solid 1px #AAAAEE; 
} 

添加以下JavaScript:

$(function() { 
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(function() { 
     $.blockUI({ message: $('#updatingDiv'), css: { border: 'none', background: 'transparent'} }); 
    }); 
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() { 
     $.unblockUI(); 
    }); 
}); 

您需要确保包含jQuery库和blockUI插件I ment更早离开。

当然,您可以修改css/html以满足您的需求。

0

试试这个,不要忘记脚本管理器博客。

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 

    <Triggers> 
     <asp:AsyncPostBackTrigger controlid="cbAll" eventname="CheckedChanged" /> 
    </Triggers> 

    <ContentTemplate> 
     <asp:updateprogress associatedupdatepanelid="UpdatePanel1" id="updateProgress" runat="server"> 
      <progresstemplate> 
      <div id="progressBackgroundFilter"></div> 
      <div id="processMessage"> Loading...<br /><br /> 
      <img alt="Loading" src="../images/ajax-loader.gif" /> 
      </div> 
      </progresstemplate> 
     </asp:updateprogress> 
    </ContentTemplate> 
</asp:UpdatePanel> 

Source

0


`

。divWaiting { position:absolute; 溢出:隐藏; text-align:center; top:0; left:0; 身高:100%; 宽度:100%; 填充顶部:40%;

} 

.divWaiting #div1 
{ 
    position: relative; 
    top: 0; 
    left: 0; 
    background-color: White; 
    width: 180px; 
    left: 460px; 
    border: 2px solid #870307; 
    border-radius: 6px; 
    text-align: center; 

} 

下载.gif注意图像旋转轮