我正在for循环中使用Page.Response.Write(“”)向浏览器发送大量excel内容数据。
在开始循环之前,我将reponse.context属性的conetnt类型更改为“ms-excel”。
如果我在for循环期间有异常,我会尝试通过注册HTML启动脚本块并将其写入浏览器来向浏览器弹出错误消息。在写入之前,我将内容类型更改为text / html。 但我收到一个错误,说发送HTTP标头后无法更改内容类型。
如何通知浏览器有关for循环期间发生的错误? 是否可以让更多的人重新回到同一个浏览器标签? 顺便说一句,现在我不想使用ASP.NET AJAX。
答案 0 :(得分:0)
在更改上下文类型之前,您是否尝试过Response.ClearHeaders();
?
如果由于您的Response.Write导致问题而无效,您可能会考虑在决定内容类型然后设置标题之前建立字符串的路径。
答案 1 :(得分:0)
Page.Response.Write(“”)将数据发送到浏览器。当您这样做时,浏览器需要知道它获得的内容类型才能使其正确。如果你已经告诉浏览器你有什么样的内容(即使你没有,你已经使用Response.Write获取数据,它将使用默认值,我认为是text / html)然后你不能把它收回。无论你对客户说什么都说,你不能收回它。 解决问题的方法是按照Doozer的建议缓存回复。
/提笔