asp.net区没人回答,只好来这里了

zf252627 2009-03-23 07:00:45
Gridview中hyperlink模板列绑定了服务器中某个目录中的文件名,想实现单击某个hyperlink直接打开相应的文件(文件基本都是word,excel,ppt之类的,此功能只在服务器端本机用,不在客户端用,应该不存在安全问题)请各位高手帮帮忙吧,实在不会整啊,谢谢了!我也没积分,不好意思啊
...全文
74 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zf252627 2009-03-24
  • 打赏
  • 举报
回复
是这样的我是用的LinkButton模板列,点击linkbutton可以获得linkbutton所在行的id,也可以得到linkbutton.text,linkbutton.text绑定了文件名(只有带后缀的文件名),现在怎么实现打开相应的文件呢???
teerhu 2009-03-23
  • 打赏
  • 举报
回复
hyperlink列绑定文件名
要加上后缀
sunshine_anycall 2009-03-23
  • 打赏
  • 举报
回复
hyperlink链接到一个aspx页面,在那个页面的pageload事件里加上以上代码
sunshine_anycall 2009-03-23
  • 打赏
  • 举报
回复
其实,利用ASP.NET输出指定内容的WORD、EXCEL、TXT、HTM等类型的文档很容易的。主要分为三步来完成。

  一、定义文档类型、字符编码

Response.Clear();
Response.Buffer= true;
Response.Charset="utf-8";

//下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开

//filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc || .xls || .txt ||.htm

Response.AppendHeader("Content-Disposition","attachment;filename=FileFlow.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");

//Response.ContentType指定文件类型 可以为application/ms-excel || application/ms-word || application/ms-txt || application/ms-html || 或其他浏览器可直接支持文档

Response.ContentType = "application/ms-excel";
this.EnableViewState = false;

  二、定义一个输入流

System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

  三、将目标数据绑定到输入流输出

this.RenderControl(oHtmlTextWriter);

//this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件

Response.Write(oStringWriter.ToString());
Response.End();

xiaochao1987 2009-03-23
  • 打赏
  • 举报
回复
这个你就在hyperlink连结那帮顶文件名不就行了吗
例如:www.hao123.com/ppt1.ppt;

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧