!!!继续讨论——下载打开两次的问题——!!!
相信这个问题还困扰着许多人,大家来一起讨论吧,分析其中的原因,我个人认为这与ie无关,应该与.Net相关,但不知问题的关键到底在哪里? 问题点数:0、回复次数:8Top
1 楼mingzaili()回复于 2005-04-01 19:18:23 得分 0
我的也出现过,是导出到excel的时候,但是运行几次之后,却莫名其妙的好了,只点一下就可以啦。
奇怪。Top
2 楼athossmth(athos)回复于 2005-04-01 19:22:29 得分 0
什么叫下载打开两次……Top
3 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-04-01 19:28:19 得分 0
是不是服务器端给客户端输出文件下载,第一次按打开按钮页面刷新了一次又出现一次下载对话框,这次才可以下载?
这个问题我也遇到过,不影响使用,但是很麻烦
但是这个问题仅仅出现在我的机器(win2000+ie5.0)我同事机器(winxp+ie6.0)就正常Top
4 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-04-01 19:45:30 得分 0
是啊,没碰到过啊,说说什么情况Top
5 楼wuha2008()回复于 2005-04-01 20:09:13 得分 0
我也遇到这种情况
就是弹出"提示下载或保存"的对话框后,你如果点"打开",它不是打开而是又重得弹出"提示下载或保存"的对话框,这时你再点打开,才打开这个文件,我说的是word,pdf,excel之类Top
6 楼foxtoo(阿里巴巴和四十大盗)回复于 2005-04-01 22:24:04 得分 0
嗯,关注一下,帮顶!Top
7 楼kouyujie(小宝)回复于 2005-04-02 10:58:13 得分 0
有一种方法可以回避这个问题:我们可以实现在点击“打开”按钮时不单独打开本地Excel,而是在线打开,即直接在IE里用Excel打开,但这样做比较慢。代码如下:
public static void ExportExcel(System.Web.UI.Page page,DataView dv,string[] headers,string[] colnames)
{
HttpResponse resp;
resp = page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
resp.AppendHeader("Content-Disposition", "online;filename=report.xls");//*****
resp.ContentType = "application/ms-excel";
string colHeaders= "", ls_item="";
int i = 0;
foreach(string header in headers)
{
colHeaders += header + "\t";
}
colHeaders += "\n";
resp.Write(colHeaders);
i = 0;
foreach(DataRowView row in dv)
{
ls_item += Convert.ToString(i + 1) + "\t";
foreach(string colname in colnames)
ls_item += row[colname].ToString() + "\t";
ls_item += "\n";
resp.Write(ls_item);
ls_item="";
i++;
}
resp.End();
}
关键的地方在于参数“online”,若为“attachment”,则会出现打开两次的问题。
Top
8 楼minghui000(沉迷网络游戏)回复于 2005-04-02 19:10:11 得分 0
帮你顶一下
Top




