当前位置: 首页 > news >正文

点击UltraWebGrid单元格中的链接,下载文件

<mce:script type="text/javascript"><!-- function Download(fileID) { __doPostBack('<%= LinkButton1.ClientID %>', ''); } // --></mce:script> <!--注意,切不可放在updatepanel中 --> <asp:LinkButton ID="LinkButton1" runat="server" οnclick="LinkButton1_Click"></asp:LinkButton>

后台

protected void Grid_InitializeRow(object sender, RowEventArgs e) { string fullpath = ""; if (String.IsNullOrEmpty(e.Row.Cells[9].Text)) return; fullpath = ContextHelper.GetUploadFileURL(e.Row.Cells[9].Text); state.DownLoadFileGuid = e.Row.Cells[9].Text; state.FileName = e.Row.Cells[10].Text; state.Save(Session); e.Row.Cells[10].Value = (String.IsNullOrEmpty(e.Row.Cells[10].Text)) ? null : "<a href="#" mce_href="#" οnclick=Download('" + e.Row.Cells[9].Text + "'); title='" + e.Row.Cells[10].Text + "'>" + e.Row.Cells[10].Text + "</a>"; }

protected void LinkButton1_Click(object sender, EventArgs e) { Response.ContentType = "application/octet-stream"; //通知浏览器下载文件而不是打开 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(state.FileName, System.Text.Encoding.UTF8)); Response.BinaryWrite( ContextHelper.GetUploadFileData(state.DownLoadFileGuid)); Response.Flush(); Response.End(); }

其中state是自己封装的session类,实际跟session[XX]=XX的操作是一样的,ContextHelper.GetUploadFileData也是自己实现的类,功能是返回文件的二进制数据

相关文章:

  • UltraWebGrid单元格中显示链接
  • 数学之二分法
  • WinDBG 技巧:显示进程/线程环境参数(!peb 和 !teb 命令)
  • json to obj and obj to json in javascript
  • js input only allow double type
  • WPF中TreeView控件如何获取选中的TreeViewItem对象?
  • 回复网友 man1231,关于业务目标界定的问题
  • 写的将skb copy/clone后转发到源地址的一段代码
  • “简单低级”的微软技术与研究生的贬值
  • 中缀表达式转后缀表达式
  • wxGlade wxFormBuilder
  • 价值驱动:移动支付的推手
  • 赖床随想记录
  • 世博会助中移动从3G迈向4G
  • 《中关村两个男人的斗争》外传——西直门
  • 【Leetcode】101. 对称二叉树
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【刷算法】求1+2+3+...+n
  • Android Volley源码解析
  • create-react-app项目添加less配置
  • Java教程_软件开发基础
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • react-native 安卓真机环境搭建
  • Swoft 源码剖析 - 代码自动更新机制
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • vue的全局变量和全局拦截请求器
  • Zepto.js源码学习之二
  • 仿天猫超市收藏抛物线动画工具库
  • 观察者模式实现非直接耦合
  • 目录与文件属性:编写ls
  • 如何进阶一名有竞争力的程序员?
  • 协程
  • 转载:[译] 内容加速黑科技趣谈
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #laravel 通过手动安装依赖PHPExcel#
  • %@ page import=%的用法
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (zhuan) 一些RL的文献(及笔记)
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (三十五)大数据实战——Superset可视化平台搭建
  • (循环依赖问题)学习spring的第九天
  • (转)Oracle存储过程编写经验和优化措施
  • (转)人的集合论——移山之道
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 指南:抽象化实现的基类
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .net操作Excel出错解决