簡體   English   中英

ASP UpdateProgress無法與iframe一起使用

[英]ASP UpdateProgress not working with iframe

當頁面中的iframe加載時,我正在使用updateProgress控件顯示loader.gif。

iframe的加載時間很長,但是loader.gif不會出現

這是我的aspx頁面

<!DOCTYPE html>
<head>
<title></title>
<style type="text/css">
    body {
        margin: 0;
        padding: 0;
        font-family: Arial;
    }

    .MyModal {
        position: fixed;
        z-index: 999;
        height: 100%;
        width: 100%;
        top: 0;
        filter: alpha(opacity=60);
        opacity: 0.6;
        -moz-opacity: 0.8;
    }

    .center {
        z-index: 1000;
        margin: 300px 400px 300px 400px;
        padding: 10px;
        width: 130px;
        background-color: White;
        border-radius: 10px;
        filter: alpha(opacity=100);
        opacity: 1;
        -moz-opacity: 1;
    }

        .center img {
            height: 128px;
            width: 128px;
        }
</style>
</head> 
<body>
  <form id="form1" runat="server">
    <h1>My Payment Page</h1>
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
         <ProgressTemplate>
                        <div class="MyModal">
                            <div class="center">
                                <img alt="" src="images/my-loader.gif" />
                            </div>
                        </div>
                    </ProgressTemplate>
    </asp:UpdateProgress>

        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                            <iframe id="frame1" runat="server" width="100%" height="600" scrolling="no" frameborder="0"></iframe>
            </ContentTemplate>
        </asp:UpdatePanel>

</form> </body> </html>

在文件后面的代碼中,我以編程方式設置了iframe的源

protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
        {
            frame1.Src = "http://example.com";
        }
    }

我不知道我在想什么。

UpdateProgress控件用於部分頁面更新(AJAX請求); 他們不響應正常的回發。

若要查看它的工作原理,請在UpdatePanel (內容模板)中放置一個按鈕控件。 因為它在更新面板中,所以它會發出AJAX請求(基本上),因此UpdateProgress控件應自動運行。

如果響應確實很快,則可能看不到UpdateProgress控件的圖像。 為了進行測試,請在響應中添加一些時間,以便可以看到圖像。

protected void btn_Click(object sender, EventArgs e)
{
    // add a fake delay for testing.
    System.Threading.Thread.Sleep(3000);
}

暫無
暫無

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

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