У меня действительно большая страница, на которую требуется некоторое время, чтобы вытащить данные и загрузить их. Когда вы сначала переходите на страницу .aspx, я бы хотел, чтобы у него было хорошее загружаемое изображение .png, чтобы люди не закрывали окно перед его отображением. Я пробовал помещать asp: UpdateProgress, но это никогда не появляется до тех пор, пока страница не загрузится, и я ничего не сделаю на странице. Как загрузить экран загрузки до загрузки остальной страницы? Ниже я пытаюсь, чтобы это не сработало.Загрузка окна на странице Загрузка asp: UpdateProgress
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="10">
<ProgressTemplate>
<div id="updatestatus" class="shadow">
<asp:Label ID="Label12" runat="server" Text="Loading...">
</asp:Label>
<asp:Image ID="Image1"
runat="server" ImageUrl="~/images/1status.png" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<%-- My page loading stuff -->
</ContentTemplate>
</asp:UpdatePanel>
Я также пробовал с таймером. Здесь это становится интересным. Ярлыки внутри ContentTemplate отображаются на галочке. В GridView I в шаблоне контента нет.
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/1status.png" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" Visible="false">
<ContentTemplate>
<!-- My page loading stuff -->
</ContentTemplate>
</asp:UpdatePanel>
<asp:Timer ID="Timer1" runat="server" Interval="600" OnTick="Timer1_Tick"></asp:Timer>
protected void Timer1_Tick(object sender, EventArgs e)
{
UpdatePanel1.Visible = true;
Timer1.Enabled = false;
Image1.Visible = false;
}
Я даже пытался вынимая UpdatePanel полностью и только изменяя GridView видимое состояние на таймере, и что до сих пор не работает. Сетка не появляется.
Что интересно, если я поставить кнопку на странице, которая выполняет следующие действия,
protected void ButtonHide_Click(object sender, EventArgs e)
{
if (GridView1.Visible)
{
GridView1.Visible = false;
}
else
{
GridView1.Visible = true;
}
}
я могу нажать ее и скрыть и показать GridView столько раз, сколько я хочу без проблем. Почему таймер отличается от других?