Updatepanel下文件导出问题

今天遇到很头疼的问题,浪费了几个小时,搞得我都快怀疑人生了,特做个记录。

功能:页面上点击一个按钮,实现Excel导出

实现:按钮添加点击事件,事件调用导出方法,输出Excel文件流,如下:

 

问题:点击按钮,触发事件,调用上面的方法,获取Excel二进制流,对Response进行设置,结果没有任何反应,不会下载,通过抓包请求,看到数据的确输出到前端了,咋回事呢。

好奇怪!!!!

然后各种排查,如:二进制流的排查,Response设置是否正确等,还是不行,有点烦躁呀(悲伤)

真的好奇怪!!!!!

然后继续排查,一如既往的尝试,流的问题、Response设置的问题,各种百度、谷歌,还是不行,有点受不了(警告)(警告)

奇怪到我怀疑人生!!!

开始找高手,拉过来捋一遍,也没解决,通过url地址直接访问以及其它页面用按钮触发下载都可以成功,就是这个页面点击按钮不行,啊啊啊啊啊啊……崩溃呀!!!!!!!!!!

冷静……,冷静……,冷静………………,肯定哪里有问题,突然想起来,这个按钮被Updatepanel包着,秒懂呀(大笑)(大笑)(大笑)(大笑)(大笑)

Updatepanel下面控件,触发动作,属于异步(Ajax)操作,Ajax不支持文件导出,然后各种百度、谷歌,求证,果然是这样子。

问题终于得到解决!

 

现在主流的js框架,对于附件导出也都是做了特殊处理的,比如使用a标签、拼接Form表单、window.open等。

售楼框架就封装了一个Form表单的实现,在Common.js中有个CustomPost,如下:

 

posted @   XiongHui23  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示