設定Response.StatusCode = 404
は IE8 でも Chrome でもコンテンツを提供しませんか? 奇妙だと思いますが、Mozilla で動作します。
空の Default.aspx ページで空の asp.net Web アプリケーション プロジェクトを実行します。Page_Load イベントでは、以下を使用します。
protected void Page_Load( object sender, EventArgs e )
{
Response.StatusCode = 404;
}
これにより、現在のリクエストのステータス コードが効果的に 404 に設定されます。IE8 や Chrome でレンダリングする場合、または他のブラウザでレンダリングする場合、テストしていませんが、実際のページはまったく表示されません。これらのブラウザーは、既定の 404 エラー ページを表示します (既定の IIS カスタム エラーではありません)。IE8 での例:
The webpage cannot be found
HTTP 404
Most likely causes:
•There might be a typing error in the address.
•If you clicked on a link, it may be out of date. ... and so on ...
私が本当にやりたいのは、404 エラー コードを含む 404 エラー ページを提供することです。これにより、実際にブラウザーやクローラー、またはこのページが存在しないことを誰にでも伝えることができます。ステータス メッセージ 200 OK を含む派手なカスタム エラー メッセージを表示するだけではありません。 .
フィドラーを使用すると、実際にはリクエストを実際に処理していることがわかりますが、ブラウザはそれを完全に無視していますか?!
私の質問 - 404 ステータス コードを設定し、ページ コンテンツをレンダリングするにはどうすればよいですか? 例 - http://www.intel.com/invalidpage.wow。fiddler を使用すると、このページが 404 ステータス コードで提供されていることがわかります。