各位,我在网上搜到很多这方面的内容,但每次IE还是提示下载或打开。
代码如下:
String FileName;
FileInfo MyFileInfo;
long StartPos = 0, FileSize;
FileName = System.Web.HttpContext.Current.Request.MapPath(e.CommandArgument.ToString());Response.AppendHeader("Content-Disposition", "inline;filename=" + FileName);Response.ContentType   =   "application/vnd.ms-excel";

MyFileInfo = new FileInfo(FileName);
FileSize = MyFileInfo.Length;Response.WriteFile(FileName, StartPos, FileSize);
Response.Flush();
Response.Clear();
Response.End();在AppendHeader 时我将 inline加上,或不加上,似乎都不可以。请问到底怎么会事呢?谢谢。

解决方案 »

  1.   

    Response.ContentType = "application/vnd.ms-excel";

    Response.Charset = ""; //关闭 ViewState
    EnableViewState = false;
    System.IO.StringWriter tw = new System.IO.StringWriter();//将信息写入字符串
    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);//在WEB窗体页上写出一系列连续的HTML特定字符和文本。
    //此类提供ASP.NET服务器控件在将HTML内容呈现给客户端时所使用的格式化功能
    //获取control的HTML
    Page.RenderControl(hw);//将DATAGRID中的内容输出到HtmlTextWriter对象中
    // 把HTML写回浏览器
    Response.Write(tw.ToString());
    Response.End();