asp.net – 无法在UpdatePanel中下载文件

下面的代码可以让我下载一个Word文档….. Try Response.BufferOutput = True HttpContext.Current.Response.Clear() HttpContext.Current.Response.Charset = HttpContext.Current.Response.Cont

下面的代码可以让我下载一个Word文档…..

Try
        Response.BufferOutput = True
        HttpContext.Current.Response.Clear()
        HttpContext.Current.Response.Charset = ""
        HttpContext.Current.Response.ContentType = "application/msword"
        HttpContext.Current.Response.AddHeader("Content-Disposition","inline;filename=myfile.doc")
        HttpContext.Current.Response.Write(s)
        'HttpContext.Current.Response.End()
        HttpContext.Current.ApplicationInstance.CompleteRequest()
        HttpContext.Current.Response.Flush()
    Catch ex As Exception
        Response.Write(ex.Message)
    End Try

但是,只要我添加一个UpdatePanel – 它没有下载文件,没有生成错误?阅读后,我添加了一个触发器,其ControlID值设置为开始创建Word doc文件的按钮.我已经尝试了几种代码组合,但似乎没有任何效果.有关如何缩小范围的任何帮助?我也调试了,没有错误显示.我检查了我的下载文件夹 – 没有任何东西,尝试设置无缓存(Response.Cache.SetCacheability(HttpCacheability.NoCache)),并没有工作.一旦我删除UpdatePanel,那么一切似乎都有效?

<asp:UpdateProgress ID="ProgressUpdate" AssociatedUpdatePanelID="UpdatePanel1" runat="server">
        <ProgressTemplate>
            <img alt="progress" src="../images/loading.gif" />
        </ProgressTemplate>
    </asp:UpdateProgress>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
     <Triggers>
            <asp:PostBackTrigger ControlID="buttonDownloadFile" />
     </Triggers>
       <ContentTemplate>
        ..

完全失去了这一个.任何人都可以建议解决方法或如何解决这个问题?

解决方法

UpdatePanel不支持文件上载或下载.有很多支持ajax的组件可以做到这一点,谷歌是你的朋友.

编辑: –

一些例子: –

http://forums.asp.net/t/1076322.aspx?How+to+create+a+flipcart+like+panel+for+showing+products+in+gridview – 我喜欢这种方法,他使用JavaScript注入IFrame,指向负责下载文件的页面.在UpdatePanel内部工作

http://encosia.com/ajax-file-downloads-and-iframes/ – 类似的方法

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部