使用C#需要在新页面中打开一个Excel文件。
我把这个Excel文件放在IIS中的名为excel的虚拟目录下。
链接为http://10.96.94.213:80/excel/text.xls我的需求需要点击按钮,生成一个Excel文件,然后再新页面中打开这个Excel文件。
我写的代码如下:
protected void Button1_Click(object sender, EventArgs e)
{    ……生成文件的代码略……    string js = "<Script>" +
                " window.open('http://10.96.94.213:80/excel/text.xls');"+
                "</Script>";
    Response.Write(js);
}
出现的问题是,新页面打开之后马上就自动关闭了。但是我直接把地址写在IE上是好使的。请问问题出在哪里?

解决方案 »

  1.   

    用这个试试
    Page.ClientScript.RegisterStartupScript(this.GetType(), null, "window.open('../js/22.xls','_blank');", true);
      

  2.   

    ivanlau2007  的方法跟我写的效果是一样的,也是页面打开之后马上就关掉了。
      

  3.   

    luckyyeung  
    你说的写在脚本里是什么意思?
      

  4.   

    而且如果使用HTML的Button来做超链接也是可以的,就是换成.net的Button就不行了。
      

  5.   

      当您打开某些类型的文件,不能直接在 Windows Internet Explorer,如具有一个名为.doc 或.xls 文件扩展名的文件中显示时通常会出现此问题。 默认情况下直接在 Internet Explorer 中不显示这些文件类型。
      当您打开的文件,可以显示直接,例如为 PDF 文件和具有.txt 或.htm 文件扩展名的文件时不会发生此问题。
      所以你打开服务器上的是具有.txt 或.htm 文件扩展名的文件的话 就不会存在打开就自动关闭的问题。
    例如
    string js = " <Script>" +
                    " window.open('http://10.96.94.213:80/excel/222.txt');"+
                    " </Script>";
        Response.Write(js); 
    打开xls文件的话,正在想...
      

  6.   

    试下解决此问题,将站点添加到 Internet Explorer 中的本地 Intranet 区域(如你服务器上的地址:http://10.96.94.213:80/ 添加上去)
    按照下列步骤操作:1. 在 工具 菜单上, 单击 Internet 选项 。
    2. 在 安全 选项卡上, 单击 本地 Intranet ,然后单击 站点 。
    3. 单击 高级 在 本地 Intranet 对话框。
    4. 在 添加到区域此 Web 站点 框中, 键入网站的 URL。
    5. 单击 确定 两次。
    6. 单击 确定 以关闭 Internet 选项 对话框。这样就不会出现打开xls文件,马上就关闭的情况。你去试试
      

  7.   

    把这个url随便换一个其他的html页面试试,看是不是你的IE拦截了自动打开的窗口。
      

  8.   

    我2003的系统,IE6
    写这个
    Response.Write("<script>window.open('http://www.jnsz.gov.cn/eWebEditor/UploadFile/20071226173758537.xls')</script>");
    不会自动关闭,
    是不是安全性太高了?
      

  9.   

    估计是 你的IE6安全性太低了。IE6默认安全级别 是中的
      

  10.   

    是啊!这样设置就可以了!
    我也用另一种方法实现了,因为之前使用超链接和HTML按钮的话是可以打开的。
    所以我就用JS调用C#的函数,然后再HTML按钮的onclick事件再调用JS的function就可以绕过这个问题了,就是太麻烦。
    谢谢大家!