Afficher un Message de Chargement à l'aide de maître, tandis que les pages du chargement de la page de données asp.net

J'ai passé des heures sur Google et la recherche des dernières questions, mais ont eu du mal à aller n'importe où avec ces réponses (je ne peux pas l'avoir dans ma solution correctement ou qu'il n'est pas adapté pour moi car ils n'ont pas de master pages).

Ma question est, j'ai un couple de asp.net les pages qui peut prendre un certain temps à charger (parfois 5 secondes+) car il y a beaucoup de données demandées à partir d'une base de données sur la méthode Page_Load. Pour empêcher les utilisateurs de penser que la page a planté et soit l'actualisation de la page ou en faisant autre chose, je veux mettre en place un message de Chargement de cacher tout le reste sur la page (à l'exception du menu) pendant qu'il se charge.

Je suis en utilisant ASP.Net 4.0 à l'aide de gabarits et de codage en C#.

Celui où je reçois le plus de succès est l'aide de l'UpdatePanel sur ma page principale où le contenu du modèle couvre la contentplaceholder, cependant je sais que ce n'est pas la meilleure façon d'aller à ce sujet et de toute façon il ne s'affiche une fois, c'est à dire que L'utilisateur se connecte, le message de chargement apparaît et, une fois toutes les données chargées sur la page d'accueil (tableau de bord.aspx) le message de chargement disparaît, ce qui est un peu ce que je veux. Toutefois, si l'utilisateur quitte la page, puis clique sur la maison le message de chargement n'apparaît jamais, encore une fois, tout prend un certain temps à charger. Il également n'apparaît jamais de toute autre page qui prend du temps à charger.

Ci-dessous est le corps du capitaine.aspx

<body>
<form runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div class="page">
<div class="header">
<div class="title">
<h1>
Header
</h1>
</div>
<div class="loginDisplay">
<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
<AnonymousTemplate>
[ <a href="~/Account/Login.aspx" id="HeadLoginStatus" runat="server">Log In</a>
]
</AnonymousTemplate>
<LoggedInTemplate>
Welcome <span class="bold">
<asp:LoginName ID="HeadLoginName" runat="server" />
</span>! [
<asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out"
LogoutPageUrl="~/Default.aspx" />
]
</LoggedInTemplate>
</asp:LoginView>
</div>
<div class="clear hideSkiplink">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false"
IncludeStyleBlock="false" Orientation="Horizontal" OnMenuItemClick="NavigationMenu_MenuItemClick">
<Items>
<asp:MenuItem Text="Home" />
<asp:MenuItem Text="About" />
</Items>
</asp:Menu>
</div>
</div>
<div class="main">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
<asp:Panel ID="Panel1" runat="server" HorizontalAlign="Center">
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/loader.gif" />
</asp:Panel>
</ProgressTemplate>
</asp:UpdateProgress>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanelAnimationExtender ID="UpdatePanel1_UpdatePanelAnimationExtender" 
runat="server" Enabled="True" TargetControlID="UpdatePanel1">
</asp:UpdatePanelAnimationExtender>
</div>
<div class="clear">
</div>
</div>
<div class="footer">
</div>
</form>

Et c'est en dessous de la page pour le tableau de bord.aspx (une page qui a un long temps de chargement)

<asp:Panel ID="PanelWelcome" runat="server">
<h1>
Welcome
<asp:Label ID="LabelUserName" runat="server" Text="[User Name]" />&nbsp;to your
personal Dashboard.</h1>
<table width="100%" cellpadding="5px">
<tr>
<td style="width: 70%" valign="top">
<asp:Panel ID="Panel2" runat="server">
<p>
&nbsp;</p>
<h4>
Up and Coming </h4>
<br />
<asp:GridView ID="GridViewItin" runat="server" Width="100%" HorizontalAlign="Left"
OnRowDataBound="GridViewItin_RowDataBound">
</asp:GridView>
</asp:Panel>
</td>
<td style="width: 30%">
<asp:Panel ID="PanelProfile" runat="server">
<asp:ImageButton ID="ImageButtonProfile" runat="server" ImageUrl="~/Images/BlankProfile.jpg"
Width="150px" /><br />
<h4>
Name:</h4>
<asp:Label ID="LabelPARname" runat="server" Text="[Person Name]"></asp:Label>
<h4>
Company:</h4>
<asp:Label ID="LabelBARname" runat="server" Text="[Company Name]"></asp:Label>
<h4>
Date of Birth:</h4>
<asp:Label ID="LabelPARdob" runat="server" Text="[DOB]"></asp:Label><br />
<asp:LinkButton ID="LinkButtonProfilePage" runat="server" OnClick="LinkButtonProfilePage_Click">More details...</asp:LinkButton>
</asp:Panel>
</td>
</tr>
</table>
</asp:Panel>

Pourriez-vous svp m'indiquer la meilleure façon d'aller à ce sujet et où je vais mal? Aussi comment je peux cacher la ContentTemplate lorsque le UpdateProgress modèle de montre qui serait génial?

Grâce.

OriginalL'auteur ian_mac123 | 2012-08-06