一颗葡萄籽 发表于 2022-6-15 17:58:08

asp.net webForm 点击单元格link下载pdf出现void(0)

表格里有一列是
ButtonCellType link = new ButtonCellTyp();
link.ButtonType = ButtonType.LinkButton;
link.Text = "test.pdf";
link.OnClientClick = "return LinkAttFileClick(\""test.pdf"\")";

sheet.Cells.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进行文件下载?


Richard.Ma 发表于 2022-6-15 17:58:09

测试了一下可以正常触发,还是你的代码,只是修改了一下这里


你可以先看一下你这边获取到spread没有

Richard.Ma 发表于 2022-6-15 18:44:13

本帖最后由 Richard.Ma 于 2022-6-15 18:50 编辑

麻烦上传一个重现问题的demo,我帮你看看

一颗葡萄籽 发表于 2022-6-15 19:21:24

Richard.Ma 发表于 2022-6-15 18:44
麻烦上传一个重现问题的demo,我帮你看看

代码就是上面写的。开发在专网,无法上传demo。
页: [1]
查看完整版本: asp.net webForm 点击单元格link下载pdf出现void(0)