Gridview中hyperlink模板列绑定了服务器中某个目录中的文件名,想实现单击某个hyperlink直接打开相应的文件(文件基本都是word,excel,ppt之类的,此功能只在服务器端本机用,不在客户端用,应该不存在安全问题)请各位高手帮帮忙吧,实在不会整啊,谢谢了!我也没积分,不好意思啊

解决方案 »

  1.   

    其实,利用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();  
      

  2.   

    hyperlink链接到一个aspx页面,在那个页面的pageload事件里加上以上代码
      

  3.   

    hyperlink列绑定文件名
    要加上后缀
      

  4.   

    是这样的我是用的LinkButton模板列,点击linkbutton可以获得linkbutton所在行的id,也可以得到linkbutton.text,linkbutton.text绑定了文件名(只有带后缀的文件名),现在怎么实现打开相应的文件呢???