我在我的页面上使用asp:UpdateProgress控件,并希望在多个页面上使用相同的控件,但不能复制和粘贴代码。通过将面板粘贴到用户控件并将用户控件放在页面上,我无法使其工作。但我不熟悉用户控件,所以希望它很简单。
UserControl .ascx文件内容
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AjaxProgressLoader.ascx.cs" Inherits="MyNamespace.Controls.AjaxProgressLoader" %>
<asp:UpdateProgress runat="server" ID="PageUpdateProgress">
<ProgressTemplate>
<div id="Imgt" style="position: absolute; left: 0; top: 0; width: 100%; height: 100%;"
align="center" valign="middle" runat="server" class="blur">
<table width="100%">
<tr>
<td>
<img src="/Styles/Images/ajax_loader.gif" style="position: relative; horiz-align: center;
vert-align: middle; margin-top: 100px" width="75px" />
</td>
</tr>
<tr>
<td style="color: #FFFFFF">
Loading...
</td>
</tr>
</table>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
主要.aspx页面
<%@ Register TagPrefix="ajax" TagName="AjaxUpdateProgress" Src="~/Controls/AjaxProgressLoader.ascx" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:ScriptManager ID="uxScriptManager" runat="server"></asp:ScriptManager>
<ajax:AjaxUpdateProgress ></ajax:AjaxUpdateProgress>
<asp:UpdatePanel runat="server" ID="Panel">
<ContentTemplate>
My Content...
</ContentTemplate>
</asp:UpdatePanel>
答案 0 :(得分:0)
解决方案: 我在用户控件进度模板上缺少AssociatedUpdatePanelId。我可以按如下方式定义它并调用我的所有面板'Panel'。
<asp:UpdateProgress runat="server" ID="PageUpdateProgress" AssociatedUpdatePanelID="Panel">
感谢此链接帮助我ASP.NET AJAX UpdateProgress in User Control for UpdatePanel in parent page