Asp.Net UpdateProgress控件可重用

时间:2012-11-08 21:47:32

标签: asp.net user-controls

我在我的页面上使用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>

1 个答案:

答案 0 :(得分:0)

解决方案: 我在用户控件进度模板上缺少AssociatedUpdatePanelId。我可以按如下方式定义它并调用我的所有面板'Panel'。

 <asp:UpdateProgress runat="server" ID="PageUpdateProgress" AssociatedUpdatePanelID="Panel">

感谢此链接帮助我ASP.NET AJAX UpdateProgress in User Control for UpdatePanel in parent page