找回密码
 立即注册

QQ登录

只需一步,快速开始

一颗葡萄籽

初级会员

25

主题

56

帖子

219

积分

初级会员

积分
219
一颗葡萄籽
初级会员   /  发表于:2022-6-15 17:58  /   查看:2887  /  回复:3
1金币
表格里有一列是
ButtonCellType link = new ButtonCellTyp();
link.ButtonType = ButtonType.LinkButton;
link.Text = "test.pdf";
link.OnClientClick = "return LinkAttFileClick(\""test.pdf"\")";

sheet.Cells[0, 1].CellType = link;

前端:
function LinkAttFileClick(fileName) {
    var spread = document.getElementById(spid);
    spread.CallBack(fileName);

}



FpSpread_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e){
    string fileFullName = "C:\\Users\\" + e.CommandName;
    FileInfo file = new FileInfo(fileFullName);
    if (file.Exists) {
        HttpContext.Current.Response.ContentType = "application/pdf";
        HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment; filename=" + e.CommandName);
        HttpContext.Current.Response.TransmitFile(fileFullName);
        HttpContext.Current.Response.End();
    }

}

点击spread的linkcell页面左下部就会出现JavaScript:void(0);导致文件无法下载,没有走前台也没有走后台。
但是用asp.net的button控件下载就没问题,是spread对其做了什么限制吗?
如果这种方法不行,那么怎么实现点击spread表格的link进行文件下载?


最佳答案

查看完整内容

测试了一下可以正常触发,还是你的代码,只是修改了一下这里 你可以先看一下你这边获取到spread没有

3 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-15 17:58:09
来自 4#
测试了一下可以正常触发,还是你的代码,只是修改了一下这里
image.png639868163.png

你可以先看一下你这边获取到spread没有
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-15 18:44:13
2#
本帖最后由 Richard.Ma 于 2022-6-15 18:50 编辑

麻烦上传一个重现问题的demo,我帮你看看
回复 使用道具 举报
一颗葡萄籽
初级会员   /  发表于:2022-6-15 19:21:24
3#
Richard.Ma 发表于 2022-6-15 18:44
麻烦上传一个重现问题的demo,我帮你看看

代码就是上面写的。开发在专网,无法上传demo。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部