用window.showModalDialog打开的窗体,
无法 HTTP 响应数据发送到客户端 不知什么原因.
window.open打开是没有问题..谁遇到过的.帮忙.谢谢!
    Protected Sub DownloadFile(ByVal filename As String)
Repeat:
        Try
            If File.Exists(filename) Then
                Dim TargetFile As FileInfo = New FileInfo(filename)
                Page.Response.Clear()
                Page.Response.AppendHeader("Content-Disposition", "attachment; filename=" + Page.Server.UrlEncode(TargetFile.Name))
                Page.Response.AppendHeader("Content-Length", TargetFile.Length.ToString())
                Page.Response.ContentType = "application/octet-stream"
                Page.Response.WriteFile(TargetFile.FullName)
                Page.Response.End()
            End If
        Catch
            Thread.Sleep(10)
            GoTo Repeat
        End Try
    End Sub

解决方案 »

  1.   

    没有办法解决了吗???模式窗体不能发送文件到客户端..HELP!!
      

  2.   

    pfc001(pfc001) ( ) 信誉:100  2006-08-16 10:21:00  得分: 0  
    不存在拦广告的软件
     错误提示:Expression cannot be evaluated at this time.
      

  3.   

    Sub downloadfile(ByVal str As String, ByVal str2 As String)
            '如果要下载的文件不存在就返回
            '文件路径
            Dim filepath As String = str
            '文件名
            Dim filename As String = str2
            If (File.Exists(filepath + filename) = False) Then
                Return
            End If
            Page.Response.Clear()
            '显示下载文件的文件名
            Page.Response.AddHeader("Content-Disposition", "attachment;filename=" + filename)
            Response.ContentType = "application/octet-stream"
            '下载文件
            Page.Response.WriteFile(filepath + filename)
            Page.Response.End()
        End Sub
      

  4.   

    goodboy1121(doglovecat) ( ) 信誉:100  2006-08-16 10:50:00  得分: 0  这种写法没有什么区别吧.
      

  5.   

    试了一下,showModalDialog打开的页面也可以弹出下载文件的窗口,找找其他方面的问题
      

  6.   

    scow(scow) ( ) 信誉:100  2006-08-16 11:45:00  得分: 0  郁闷.我怎么不可以.新建个项目试了也是不可以..aspx<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
        <base target="_self"></base>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="Button" /></div>
        </form>
    </body>
    </html>
    aspx.vbImports System.Data
    Imports System.IO
    Imports System.Web.UI.WebControls
    Imports System
    Imports System.ThreadingPartial Class NewFolder1_Default2
        Inherits System.Web.UI.Page    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load    End Sub    Protected Sub DownloadFile(ByVal filename As String)Repeat:
            Try            If File.Exists(filename) Then
                    Dim TargetFile As FileInfo = New FileInfo(filename)
                    Page.Response.Clear()
                    Page.Response.AppendHeader("Content-Disposition", "attachment; filename=" + Page.Server.UrlEncode(TargetFile.Name))
                    Page.Response.AppendHeader("Content-Length", TargetFile.Length.ToString())
                    Page.Response.ContentType = "application/octet-stream"
                    Page.Response.WriteFile(TargetFile.FullName)
                    Page.Response.End()
                End If
            Catch
                Thread.Sleep(10)            GoTo Repeat        End Try    End Sub    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Try
                DownloadFile("E:\WarnDetailReport.xls")
            Catch ex As Exception
                Response.Write("<script>alert('" & ex.Message & "')</script>")
            End Try    End Sub
    End Class
      

  7.   

    Sub downloadfile(ByVal str As String, ByVal str2 As String)
            '如果要下载的文件不存在就返回
            '文件路径
            Dim filepath As String = str
            '文件名
            Dim filename As String = str2
            If (File.Exists(filepath + filename) = False) Then
                Return
            End If
            Page.Response.Clear()
            '显示下载文件的文件名
            Page.Response.AddHeader("Content-Disposition", "attachment;filename=" + filename)
            Response.ContentType = "application/octet-stream"
            '下载文件
            Page.Response.WriteFile(filepath + filename)
            Page.Response.End()
        End Sub
      

  8.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
        <base target="_self"></base>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="Button" /></div>
        </form>
    </body>
    </html>
    aspx.vbImports System.Data
    Imports System.IO
    Imports System.Web.UI.WebControls
    Imports System
    Imports System.ThreadingPartial Class NewFolder1_Default2
        Inherits System.Web.UI.Page    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load    End Sub    Protected Sub DownloadFile(ByVal filename As String)Repeat:
            Try            If File.Exists(filename) Then
                    Dim TargetFile As FileInfo = New FileInfo(filename)
                    Page.Response.Clear()
                    Page.Response.AppendHeader("Content-Disposition", "attachment; filename=" + Page.Server.UrlEncode(TargetFile.Name))
                    Page.Response.AppendHeader("Content-Length", TargetFile.Length.ToString())
                    Page.Response.ContentType = "application/octet-stream"
                    Page.Response.WriteFile(TargetFile.FullName)
                    Page.Response.End()
                End If
            Catch
                Thread.Sleep(10)            GoTo Repeat        End Try    End Sub    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Try
                DownloadFile("E:\WarnDetailReport.xls")
            Catch ex As Exception
                Response.Write("<script>alert('" & ex.Message & "')</script>")
            End Try    End Sub
    End Class
      

  9.   

    showModalDialog打开的窗口下载文件代码
        protected void Button1_Click(object sender, EventArgs e)
        {
            string destFileName = @"D:\WORK\HRM.WEB\HRM.WEB\WebPage\VFRM\VideoInventory\DownLoad.aspx.cs";         if(File.Exists(destFileName))
    {
    FileInfo fi = new FileInfo(destFileName);
    Response.Clear();
    Response.ClearHeaders();
    Response.Buffer = false;
       
    Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(destFileName),System.Text.Encoding.UTF8));
    Response.AppendHeader("Content-Length",fi.Length.ToString());
    Response.ContentType="application/octet-stream";
    Response.WriteFile(destFileName);
    Response.Flush();
    Response.End();
    }
    else
    {
    Response.Write("<script langauge=javascript>alert('文件不存在!');history.go(-1);</script>");
    Response.End();
    }
        }