发生的原因此错误之所以发生是因为 Web 伺服器已使用 HTTP 标头设定用户端的浏览器,然后尝试使用另一个 HTTP 标头进行重设动作,例如,当 HTTP 标头将浏览器设为 content-type=text/html 且於此之后发出重新导向动作。例如,处理的 ASP 页面在 Response.Redirect 陈述句之前包含 HTML 标签或任何其他伺服器端的 Script。 以下为写入 HTTP 标头之 ASP 「回应」物件的内容和方法: Response.AddHeader Response.CacheControl Response.CharSet Response.ContentType Response.Expires Response.ExpiresAbsolute Response.Redirect Response.Status 解决方案 设定HTTP 标头,如 Redirect 陈述句或 cookie 资讯,於传送 HTML 输出前执行。 举例而言,如需避免此重新导向的错误,请於处理过程中将 ASP 网页储存在缓冲区中或暂时保留,然后处理完成后在发出重新导向动作。完成此动作的方式有两种:於应用程式层次或於网页层次。 请注意: 务必确认重新导向动作在所有 ASP script 后发出。如在 ASP script 前发出,ASP 程式码即不会被处理,且 ASP 页面将直街被重新导向。 於应用程式层次,所有包含 Web 应用程式的 ASP 网页皆会於处理时先存入缓冲区。如需设定应用层次的缓冲区,请至 Microsoft Management Console (MMC) 进行设定。选择您 Web 应用程式所在的 Web 站台。展开 Web 站台显示虚拟目录和 Web 应用程式。在 Web 应用程式上按一下滑鼠右键,然后选取 [内容] 。於 [虚拟目录] 标签上,按一下 [设定] 。 请注意: 如果 [设定] 按钮无法使用,则该虚拟目录不是 Web 应用程式。按一下 [建立] 使虚拟目录成为 Web 应用程式。 於 [应用程式设定] 对话框中,选取 [应用程式选项] 标签,然后选取 [启用缓冲区] 。 如需设定网页层次的缓冲区,请在 ASP 页面中的 @LANGUAGE 文字行加入下列程式码: <% @LANGUAGE = "VBScript" %> <% Response.Buffer = True %> Other ASP/Clientside scripts or HTML ... <% Response.Redirect %> 另一个方法是使用 cookies,其使用方法如下。此程式码片段会在传送标签(元件)之前写入 cookie Response.Cookies("Name")=value ...content... Response.Cookies("Name")=value
...content...
考资料:参考资源: http://support.microsoft.com/?scid=kb;zh-tw;229657&spid=555&sid=global