簡體   English   中英

asp.net響應雙重內容類型

[英]asp.net response dual content type

我正在for循環中使用Page.Response.Write(“”)將大量的excel內容數據發送到瀏覽器。

在開始循環之前,我將reponse.context屬性的競爭類型更改為“ ms-excel”。

如果在for循環中有異常,我會嘗試通過注冊HTML啟動腳本塊並將其寫入瀏覽器來向瀏覽器彈出錯誤消息。 在寫之前,我將內容類型改回為text / html。 但我收到一條錯誤消息,說發送HTTP標頭后無法更改內容類型。

如何將for循環期間發生的錯誤通知瀏覽器? 是否可以在同一瀏覽器選項卡中進行多個響應? 順便說一句,現在我不想使用ASP.NET AJAX。

您是否嘗試過Response.ClearHeaders(); 在更改上下文類型之前?

如果由於Response.Write導致問題而無法解決問題,則可以考慮在確定內容類型然后設置標題之前采用構建字符串的方法。

  • 循環瀏覽內容並添加到StringBuilder
  • 如果沒有錯誤,請將contenttype設置為ms-excel並寫出SB
  • 如果有錯誤,請保留contenttype,因為它是根據需要寫出錯誤消息的。

Page.Response.Write(“”)會將數據發送到瀏覽器。 當您執行此操作時,瀏覽器需要知道其獲取的內容類型才能正確顯示。 如果您已經告訴瀏覽器您擁有什么樣的內容(即使您沒有,即使您已經在使用Response.Write整理數據,它將使用我認為是text / html的默認值),那么您將無法把它收回。 無論您對客戶說的是什么,您都無法收回。 解決問題的方法是按照Doozer的建議緩存答復。

/提比

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM