を示していますは、私は動的にこのような.aspxのファイルにHTMLページを生成するページのテキスト
Response.Clear()
Response.ClearContent()
Response.ClearHeaders()
Response.Buffer = True
Response.ContentType = "text/HTML"
Response.AddHeader("Content-Disposition", "inline")
Response.OutputStream.Write(FilledBuffer, 0, FilledBuffer.Length)
Response.OutputStream.Flush()
Response.OutputStream.Close()
Response.End()
FilledBuffer(バイト配列)のような有効なHTMLです。
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
</head>
<body>
<div>content</div>
</body>
</html>
これをIE8 +で表示すると、HTMLページとしてレンダリングされますが、ChromeではHTMLがテキストとして表示されます。私の最初の考えはMIMEタイプですが、text/HTMLはhtmlには正しいので、私は迷っています。
私はここで非常に単純な何かが欠けする必要があります...またはインターネットは動作しません...
シオマネキでHTMLをレンダリングするの標準的なaspxページ間の要求および上記以外の作業ページが同一であり、具体的には:応答ストリームで使用
GET http://localhost:1202/test.aspx HTTP/1.1
Host: localhost:1202
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
Referer: http://localhost:1202/Mypage.aspx
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
フィドラーでは、コンテンツは<! D O C T Y P E時間T MがL>< h t m l >< h e a d >< t i t l e > M Y Pおそらくユニコードのように見える各チャーター間のスペースでのG E T I T LがE>< b o d y >< d i v >< h 1 > C 0のN t個のE N T< d i v >?私はresponse.encoding = "utf-8"を追加しました。 – kpg
異なる_response_ヘッダーを作業と非作業の間に表示する必要があります。 – Jacob
解決済み - 作業中のファイルが遅すぎます。 System.Text.Encoding.Unicode.GetBytes(sb.ToString)で文字列からバイト配列を作成しました。System.Text.Encoding.UTF8.GetBytes(sb.ToString)にする必要があります。 – kpg