本文介绍了Updateprogress不适用于PostBackTrigger的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我有一个页面test.aspx,它有一个按钮,可以在updatepanel和一个updateprogress加载器下打开ppt。

在页面加载中我把这段代码

Hi,

I have page "test.aspx", which has a button to open ppt under an updatepanel and one updateprogress loader.
in the page load i put this code

ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(Button1);



当我点击一个按钮ppt打开但updateprogress没有显示

我怎样才能显示更新进度当我有registerpostback control。



请帮助..


when i click on a button ppt opens but the updateprogress not shows
how can i display the update progress when i have registerpostback control.

please help..

推荐答案

<asp:ScriptManager ID="ScriptManager1" runat="server">
        <Scripts>
        <asp:ScriptReference Path="js/iframe.js" />
      </Scripts>
        </asp:ScriptManager>




iframe.js中的
我重定向到另一个页面,其中包含打开PPT的代码。



iframe.js代码





in the iframe.js I redirected to another page which has code to open PPT.

iframe.js code

Sys.Application.add_init(AppInit);

function AppInit() {
  var prm = Sys.WebForms.PageRequestManager.getInstance();
  prm.add_endRequest(InitializeRequest);
}

function InitializeRequest(sender, args) {
  // Check to be sure this async postback is actually
  //   requesting the file download.
    if (sender._postBackSettings.sourceElement.id == "ContentPlaceHolder1_BtnCrBreview") {
        // alert(sender._postBackSettings.sourceElement.id);
        // Create an IFRAME.

        var iframe = document.createElement("iframe");

        // Get the desired region from the dropdown.


        // Point the IFRAME to GenerateFile, with the
        //   desired region as a querystring argument.
        iframe.src = "OpenPPT.aspx";

        // This makes the IFRAME invisible to the user.
        iframe.style.display = "none";

        // Add the IFRAME to the page.  This will trigger
        //   a request to GenerateFile now.
        document.body.appendChild(iframe);
    }

another page OpenPPT.aspx.cs code

 protected void Page_Load(object sender, EventArgs e)
    {
        System.IO.FileInfo file = new System.IO.FileInfo(Server.MapPath("Output/Presentation1.pptx"));

        Response.Clear();
        Response.ContentType = @"application\octet-stream";
      //  System.IO.FileInfo file = new System.IO.FileInfo(Server.MapPath("Output/Presentation1.pptx"));
        Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
        Response.AddHeader("Content-Length", file.Length.ToString());
        Response.ContentType = "application/octet-stream";
        Response.WriteFile(file.FullName);
        Response.Flush();
    }


这篇关于Updateprogress不适用于PostBackTrigger的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-03 14:14