首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

.ashx文件中输出文件的有关问题

2012-08-07 
.ashx文件中输出文件的问题想点击导出按钮,实现将数据导出为excel,于是做了一个.ashx文件(用于接收导出请

.ashx文件中输出文件的问题
想点击导出按钮,实现将数据导出为excel,于是做了一个.ashx文件(用于接收导出请求,并执行导出)

toexcel.ashx代码

C# code
                ...                DataSet ds1 = Member.GetMembers();//获取要导出的数据                context.Response.Clear();                context.Response.Charset = "";                context.Response.ContentType = "application/vnd.ms-xls";                StringWriter stringWrite = new StringWriter();                HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);                DataGrid dg = new DataGrid();                dg.DataSource = ds1;                dg.DataBind();                dg.RenderControl(htmlWrite);                context.Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("abcdefg.xls"));                context.Response.Write(stringWrite.ToString());                context.Response.End();       


这段代码如果在服务器按钮事件中写,则可以成功导出excel文件,但在这里
却只输出了一个页面,里面包含了ds1里的所有数据,外加一个“确定”按钮!

不知怎么回事,请指教!

[解决办法]
http://www.cnblogs.com/wrz923/archive/2008/07/17/1245002.html 

接分啊!! 详细的很啊
[解决办法]
用Response.WriteFile()
[解决办法]
下载文件的四种方法
[解决办法]
http://www.cnblogs.com/wrz923/archive/2008/07/17/1245002.html
这个的不错
[解决办法]
直接写一个aspx页面,之后把这个代码复制过去,之后做一个链接就可以了. 


下载和ajax貌似是没啥联系的, 难道我out了.
[解决办法]
下载本来就不会刷新页面,不知你用AJAX的用意是什么
[解决办法]
探讨
别误会了,我想用ajax导出数据(所以并不只是一个简单的下载链接,会有数据的查询及最后的输出下载)!

[解决办法]
使用ajax应该也可以
或许这里dg.RenderControl(htmlWrite);
不能导出,毕竟应该是页面呈现的控件才可以导吧
所以加之楼上的拼datatable方法结合你的方法实现吧
[解决办法]
lz你可以这样嘛。你先在服务器端生成excle,然后下载,下载后删除,
因为本地下载的提示框是js的进程阻涉。页面不刷新
[解决办法]
探讨

引用:

lz你可以这样嘛。你先在服务器端生成excle,然后下载,下载后删除,
因为本地下载的提示框是js的进程阻涉。页面不刷新


谢谢你,不然就沉了!

如果是这样的话,怎么监测用户已下载完成呢?
也就是说删除文件的时机问题。。。
这个似乎办不到吧!!!

热点排行