博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UpdatePanel无法导出下载文件
阅读量:6155 次
发布时间:2019-06-21

本文共 2598 字,大约阅读时间需要 8 分钟。

转自 http://www.cnblogs.com/vipsoft/p/3298299.html protected void Page_Load(object sender, EventArgs e){     ScriptManager sm = Page.Master.FindControl("ScriptManager1") as ScriptManager;    if (sm != null)    {        foreach (GridViewRow item in gvInvoiceHistory.Rows)        {            LinkButton lbtnTemp = item.FindControl("btnInvoiceNumber") as LinkButton;            if (lbtnTemp != null)            {                sm.RegisterPostBackControl(lbtnTemp);            }        }    }  }protected void btnInvoiceNumber_OnClick(object sender, EventArgs e){    LinkButton btnTemp = sender as LinkButton;    if (btnTemp != null)    {        var path = ConfigurationManager.AppSettings["InvoicePdfPath"];        var fileName = btnTemp.Text.Trim() + ".pdf";        if (!FileHandler.DownLoadFile(path, fileName))        {            var msg = GetLocalResourceObject("InvoiceIsNotAvailable").ToString();            ScriptManager.RegisterStartupScript(upMain, upMain.Page.GetType(), "DownLoadFile", string.Format("alert('{0}');", msg), true);             //如果不存在就跳转,参见 http://www.cnblogs.com/vipsoft/p/3627683.html      //string url = "http://www.vipsoft.com.cn";      //ResponseRedirect.Redirect(Response, url, "_blank", "'toolbar=0,scrollbars=1,status=0,menubar=0,resizable=1,top=0,left=0,height=800,width=1000");}        }    }}//Updatepanel 会有异常 参考下面的链接查看下载方法public static bool DownLoadFile(string path,string fileName){    bool result = false;    string filePath = HttpContext.Current.Server.MapPath(path + fileName);    if (File.Exists(filePath))    {        FileInfo fileInfo = new FileInfo(filePath);        HttpContext.Current.Response.Clear();        HttpContext.Current.Response.ClearContent();        HttpContext.Current.Response.ClearHeaders();        HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);        HttpContext.Current.Response.AddHeader("Content-Length", fileInfo.Length.ToString());        HttpContext.Current.Response.AddHeader("Content-Transfer-Encoding", "binary");        HttpContext.Current.Response.ContentType = "application/octet-stream";        HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");        HttpContext.Current.Response.WriteFile(fileInfo.FullName);        HttpContext.Current.Response.Flush();        HttpContext.Current.Response.End();        result = true;    }    return result;}

 

ScriptManager1 放在 MasterPage中,查找 ScriptManager1 时,

Page.Master.FindControl("ScriptManager1") as ScriptManager;

 

FileHandler文件下载:

如果不存在就跳转,参见 http://www.cnblogs.com/vipsoft/p/3627683.html

你可能感兴趣的文章
20个最强的基于浏览器的在线代码编辑器 - OPEN资讯
查看>>
Tesseract——OCR图像识别 入门篇
查看>>
《Java程序性能优化》之设计优化
查看>>
Android源代码下载方法具体解释
查看>>
虚拟机 搭建LVS + DR + keepalived 高可用负载均衡
查看>>
maven 发布到仓库
查看>>
Android实现简单短信发送器
查看>>
Linux命令执行顺序— ||和&&和; 比较
查看>>
第30周一
查看>>
一、Bitmap的recycle问题
查看>>
DHCP Option 60 的理解
查看>>
android中的textview显示汉字不能自动换行的一个解决办法
查看>>
程序局部性原理感悟
查看>>
js中document.write()使用方法
查看>>
随机生成50个字段的elasticsearch的测试程序输入
查看>>
如何使用流量精灵刷网站流量
查看>>
使用AutoMapper 处理DTO数据对象的转换
查看>>
java使用POI获取sheet、行数、列数
查看>>
js 调用 oc 的解释
查看>>
Linux学习笔记——Ubuntu更新软件源
查看>>