FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2761|回复: 2
打印 上一主题 下一主题

后台导出文件注意设置按钮的EnableAjax属性

[复制链接]
跳转到指定楼层
楼主
发表于 2013-10-31 13:28:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     if (!IsPostBack)
         {
            FileStream fs = new FileStream(strTempPath, FileMode.Open);
            byte[] bytes = new byte[(int)fs.Length];
            fs.Read(bytes, 0, bytes.Length);  // 读取
            fs.Close();
            Response.ClearContent();  // 清楚缓冲区所有内容
            Response.ClearHeaders();  // 清楚缓冲区所有头
            Response.ContentType = "application/octet-stream";  // 设置输出流的Http MIME类型 通知浏览器下载文件而不是打开
            Response.AddHeader("Content-Disposition", "attachment; filename=" +
                HttpUtility.UrlEncode(strName, System.Text.Encoding.UTF8)); //fileName为需要下载的文件名
            Response.BinaryWrite(bytes);  // 写入输入流
            Response.Flush();  // 向客户端发送数据流
            Response.End();
          }
       执行毫无问题,能够正常打开文件

但是,如果我前台放置一个按钮,点击按钮(btnTest_Click)来执行IsPostBack下面这段代码,就会报错。我分步调试的时候发现,在Response.Flush()之前,的确是获取到了文件的字节长度,Response.Flush()之后就报错了。
前台是这样的:
<form id="form1" runat="server">
        <xageManager ID="ageManager1" AutoSizePanelID="anel1" runat="server" />
<xanel ID="anel1" runat="server" BodyPadding="5px" EnableLargeHeader="false" EnableBackgroundColor="true"
            ShowBorder="false" Layout="VBox" BoxConfigAlign="Stretch" BoxConfigPosition="Start"
            ShowHeader="false" Title="Test">
            <Items>
                <x:SimpleForm ID="SimpleForm1" Height="250px" BodyPadding="5px" LabelAlign="Right" Title="Test" runat="server">
                    <Items>
                         .......................
                    </Items>
                </x:SimpleForm>
             </Items>
<x:Button ID="btnTest" runat="server" ></x:Button>
</xanel>
</form>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2013-11-1 09:16:22 | 只看该作者
这个不是BUG。直接操作Response的请求需要设置按钮 EnableAjax="false" ,参考示例:http://fineui.com/demo_v4/#/demo_v4/grid/grid_excel.aspx
板凳
 楼主| 发表于 2013-11-1 15:54:58 | 只看该作者
sanshi 发表于 2013-11-1 09:16
这个不是BUG。直接操作Response的请求需要设置按钮 EnableAjax="false" ,参考示例:http://fineui.com/dem ...

太感谢了 问题终于解决了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-6-26 22:04 , Processed in 0.046262 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表