代码之家  ›  专栏  ›  技术社区  ›  blu

ASP.NET响应内容

  •  0
  • blu  · 技术社区  · 15 年前

    我已经在IIS 6.1、IE 7、ASP.NET 3.5 SP1中对此进行了测试。

    我在我的aspx codebehind中的方法中下载了一个文件:

    Response.ContentType = contentType;
    Response.AppendHeader("Content-Disposition", contentDisposition);
    Response.BinaryWrite(file);
    

    这非常有效,但是如果我试图修改服务器端的任何控件,这些更改都不会生效。我已经将其隔离到对ContentType的调用,这显然会在调用时对响应流进行所有挂起的更改?这听起来有人熟悉吗?

    如果代码采用备用分支,并且下载调用未触发,则标记将按预期进行修改。

    2 回复  |  直到 15 年前
        1
  •  1
  •   fyjham    15 年前

    不确定您正在尝试做什么-您是否正在尝试同时提供下载文件和对链接到该文件的HTML页面的更新?HTML不是这样工作的。

    如果你想获得这个结果,那么你基本上必须呈现一个元重定向,它指向HTML中返回的文件,这样页面就会加载,然后开始下载(就像你在很多下载站点上看到的那样)。

        2
  •  1
  •   RickNZ    15 年前

    正如费杰姆所说,我真的不明白你想做什么。以下几点提示可能会有所帮助:

    1. 刷新页眉后,无法再次设置它们
    2. 不能在同一HTTP响应中混合使用文件下载和HTML标记