簡體   English   中英

如何禁用某些頁面的UpdateProgress(在主頁上)?

[英]How to disable UpdateProgress(on master page) for certain Pages?

我在母版頁上有以下代碼:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdateProgress ID="updateProgress" runat="server">
    <ProgressTemplate>
        <div id="aspProgressDiv" style="position: fixed; text-align: center; height: 100%; width: 100%; top: 0;
            right: 0; left: 0; z-index: 9999999; background-color: #000000; opacity: 0.7;">
            <asp:Image ID="imgUpdateProgress" runat="server" ImageUrl="Images/ajax-loader.gif"
                AlternateText="Loading ..." ToolTip="Loading ..." Style="padding: 10px; position: fixed;
                top: 45%; left: 50%;" />
        </div>
    </ProgressTemplate>
</asp:UpdateProgress>

在其中一個頁面上,我有一個計時器,該計時器可自動觸發事件並刷新頁面。

<asp:UpdatePanel ID="updatePage" runat="server" >
    <ContentTemplate>
        <asp:Timer ID="timerRefresh" runat="server" OnTick="timerRefresh_Tick" Enabled="true" Interval="10000"></asp:Timer>
        <asp:CheckBox runat="server" ID="chkAutoRefresh" OnCheckedChanged="chkAutoRefresh_CheckedChanged" CssClass="pull-right text-primary" AutoPostBack="true" Text="Auto refresh" Checked="True" />
    </ContentTemplate>
</asp:UpdatePanel>

在C#中,我有:

protected void Page_Load(object sender, EventArgs e)
{
    try
    {            
            if (!Page.IsPostBack)
            {
                timerRefresh_Tick(null, null);
            }

    }
    catch (Exception exception)
    {
    }

}
protected void chkAutoRefresh_CheckedChanged(object sender, EventArgs e)
{
    try
    {
        timerRefresh.Enabled = chkAutoRefresh.Checked;
    }
    catch (Exception exception)
    {

    }
}

protected void timerRefresh_Tick(object sender, EventArgs e)
{
    try
    {
        //post data to page
    }
    catch (Exception exception)
    {
       //Do something
    }
}

我希望該頁面上的updateprogress不起作用,並且應該在所有頁面上都適用於所有異步事件。 我可以施加以下條件嗎?

if(pageName=="abc.aspx"){
   //dont show progressbar
}

還是其他選擇?

您可以嘗試在母版頁中添加虛擬更新面板,如下所示:

<asp:UpdatePanel runat="server" ID="upDummy"></asp:UpdatePanel>

然后在您的內容頁面加載事件中,將UpdateProgress關聯到虛擬更新面板,如下所示:

CType(Me.Master.FindControl("UpdateProgress1"), UpdateProgress).AssociatedUpdatePanelID =
    CType(Me.Master.FindControl("upDummy"), UpdatePanel).ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM