Asp.net冻结后台页面加载弹出

本文关键字:加载 net 冻结 后台 Asp | 更新日期: 2023-09-27 17:53:50

这是我的ASPX代码

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    <style type="text/css">
    .image1
    {
        top:100;
    }
    #dvLoading
    {
    }
</style>
</asp:Content>
<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="MainContent">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <br />
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
        ControlToValidate="TextBox1" ErrorMessage="**"></asp:RequiredFieldValidator>
    <br />
    <br />
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
        </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server">
        <ProgressTemplate>
           <class="dvLoading" style=" height:100%; top:0; width:100%; background-color: gray; opacity: 0.4; filter: alpha(opacity=40);
                        left: 0px; z-index: 999999; position: absolute; text-align: center; vertical-align:middle" />
            <asp:Image ID="Image1" runat="server" ImageUrl="~/load1.png" Width="146px" 
                ImageAlign="Middle" CssClass="image1" />
        </ProgressTemplate>
    </asp:UpdateProgress>
</asp:Content>

问题是,当我编译它时,一切都很好,但我的"load1.png"图像将在页面顶部,但是我想让我的加载图像在中间

我使用的是Visual Studio 2010

Asp.net冻结后台页面加载弹出

我建议您为此使用jQuery插件jquery.malsup.com/block/。它是非常可定制的,并自动工作在整个页面或一些DOM元素。

所有更新面板请求的通用解决方案:添加jQuery引用和http://malsup.github.io/jquery.blockUI.js脚本,并编写:

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(function (){
    $.blockUI();
});
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function (){
    $.unblockUI();
});

或者你可以添加调用$. blockui()只在按钮ClientClick事件

以下是我的答案。谢谢大家对我的帮助

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    </asp:Content>
<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="MainContent">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <br />
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
        ControlToValidate="TextBox1" ErrorMessage="**"></asp:RequiredFieldValidator>
    <br />
    <br />
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
        </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server">
        <ProgressTemplate>
           <class="dvLoading" style=" height:100%; top:0; width:100%; background:url(load1.png) no-repeat center center,gray;
               opacity: 0.8; left: 0px; z-index: 999999; position: absolute; text-align: center; vertical-align: middle; " />
        </ProgressTemplate>
    </asp:UpdateProgress>
</asp:Content>