FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 11881|回复: 10
打印 上一主题 下一主题

表格中下载文件,如何禁用EnableAjax

[复制链接]
跳转到指定楼层
楼主
发表于 2014-6-10 12:37:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在界面上设置一个弹出界面window1,在弹出界面加入一个表格控件grid,执行下载文件报错:


消息: 由于出现错误 c00ce514 而导致此项操作无法完成。
行: 1
字符: 14489
代码: 0
URI: http://192.168.66.39/WebResource ... =635375775580418439




1.前台代码:
<ext:Window ID="window1" Width="700px" Height="300px" Title="终端快照" Hidden="true" EnableCollapse="false" runat="server"
        EnableResize="true" IsModal="false" CloseAction="HidePostBack" WindowPosition="GoldenSection">                <Items>
            <ext:Grid ID="grid" Height="300px" ShowBorder="true" ShowHeader="False"  AutoPostBack="true"
                runat="server" EnableCheckBoxSelect="False" DataKeyNames="SnapName" EnableRowNumber="True" >
                <Columns>
                    <extinkButtonField TextAlign="Center" ConfirmTarget="Top" ColumnID="down" Width="70px" CommandName="Down" HeaderText="下载" Text="下载" />
                </Columns>
            </ext:Grid>
        </Items>
    </ext:Window>
2.后台代码
        protected void Grid_RowCommand(object sender, GridCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "Down")
                {
                    string fileName = "aa.zip";
                    string filePath = Server.MapPath("aa.zip");//路径

                    FileInfo fileInfo = new FileInfo(filePath);
                    HttpContext.Current.Response.Clear();
                    HttpContext.Current.Response.ClearContent();
                    HttpContext.Current.Response.ClearHeaders();
                    fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);
                    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"; //"text/javascript";
                    HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
                    HttpContext.Current.Response.WriteFile(fileInfo.FullName);
                    HttpContext.Current.Response.Flush();
                                        HttpContext.Current.Response.End();
                }
            }
            catch (Exception ex)
            {
            }
        }



本帖子中包含更多资源

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

x
沙发
 楼主| 发表于 2014-6-10 15:43:24 | 只看该作者
没人知道吗? 在ext:Window 控件中使用Response 下载文件 报错了
环境是VS2008, .NET Framework 3.5
板凳
 楼主| 发表于 2014-6-11 10:26:47 | 只看该作者
有没有人啊...
地板
发表于 2014-6-11 13:18:10 | 只看该作者
下载文件时,必须设置发起请求的控件禁用AJAX(比如发起方是按钮,就要设置按钮的EnableAjax=fase),表格的LinkButtonField尚不支持此属性,下个版本会增加。

暂时的解决方法是,为LinkButtonField增加属性:
  1. OnClientClick="F.control_enable_ajax=false;"
复制代码




====在专业版中,这个属性名是 F.controlEnableAjax ,相关示例:
开源版:http://fineui.com/demo/#/demo/grid/grid_rowcommand_download.aspx
专业版:http://fineui.com/demo_pro/#/dem ... mmand_download.aspx
5#
 楼主| 发表于 2014-6-11 14:15:57 | 只看该作者
本帖最后由 Kenny 于 2014-6-11 14:21 编辑
sanshi 发表于 2014-6-11 13:18
下载文件时,必须设置发起请求的控件禁用AJAX(比如发起方是按钮,就要设置按钮的EnableAjax=fase),表格 ...

sanshi 你好:这个属性里面的F是什么呢?
我在LinkButtonField控件中直接加入 OnClientClick="F.control_enable_ajax=false;" 这个属性
结果报错了,错误如下:
网页错误详细信息

消息: 'F' 未定义
行: 1
字符: 22
代码: 0
URI: http://192.168.66.39/index.aspx

6#
 楼主| 发表于 2014-6-11 14:35:46 | 只看该作者
明白了。我这边定义的是X.control_enable_ajax=false
谢谢 sanshi。
7#
发表于 2015-6-15 03:02:55 | 只看该作者
sanshi 发表于 2014-6-11 13:18
下载文件时,必须设置发起请求的控件禁用AJAX(比如发起方是按钮,就要设置按钮的EnableAjax=fase),表格 ...

我是用的表格中行 双击事件 下载文件,这个EnableAjax=false 我在所有对象上都设了,还是不能下载,只一闪就没有了。这个怎么办呢?
8#
发表于 2015-6-15 03:04:51 | 只看该作者
  protected void GV_Files_RowDoubleClick(object sender, GridRowClickEventArgs e)
        {            
            if (GV_Files.DataKeys[e.RowIndex][2].ToString() == "dir")
            {
                Session["dirid"] = GV_Files.DataKeys[e.RowIndex][0].ToString();
                BindNowPath();
            }
            else
            {
                down(Int64.Parse( GV_Files.DataKeys[e.RowIndex][0].ToString()));
            }
        }
  private void down(Int64 _fid)
        {
            Response.ContentType = "application/x-zip-compressed";
            string filename = Server.MapPath("~/files/" + Session["uid"].ToString().Trim() + "/" + BLL.yun.GetSaveName(_fid).Trim());
            Response.AddHeader("content-disposition", "attachment;filename=abc.txt") ;
            Response.TransmitFile(filename);
        }
9#
发表于 2015-6-15 17:14:19 | 只看该作者
黑色彩虹 发表于 2015-6-15 03:02
我是用的表格中行 双击事件 下载文件,这个EnableAjax=false 我在所有对象上都设了,还是不能下载,只一 ...

这个要写点脚本,专业版下个版本会增加示例(v2.7.0),目前版本还不支持:http://fineui.com/demo_pro/#/dem ... click_download.aspx
10#
发表于 2015-6-15 22:57:03 | 只看该作者
sanshi 发表于 2015-6-15 17:14
这个要写点脚本,专业版下个版本会增加示例(v2.7.0),目前版本还不支持:http://fineui.com/demo_pro/# ...

感谢 三石 。我的应用还在模型开发阶段,用的开源版,开发完应用时会转入专业版。这个开源版本,用你回复中的专业版中的示例修改下代码,可以实现双击下载功能么?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-30 03:07 , Processed in 0.052198 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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