を500ページを挿入するようにASP.NETを引き起こし、私はこのようになりますた.ascxでいくつかのコードを持って:あなたは(0による除算を)期待通りインラインコードは、現在のページ内
<%
int a = 0;
int b = 5;
int c = b/a;
%>
は500エラーをスローします。
のcustomErrorsは私がヒットしようとしているページのレンダリングめちゃくちゃ取得この
<customErrors mode="On" redirectMode="ResponseRewrite">
<error statusCode="500" redirect="/500.aspx" />
</customErrors>
のように見えます。ソースを見ると、通常のページの半分が表示され、その後500ページがそれに続きます。
<div class="mapTextOverlay" style="width:448px;padding-left:232.96px;">
[main page abruptly ends here and the 500 page starts]
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head"><title>
500
</title>
[etc.]
したがって、ページ転送の途中でサーバー転送が行われています。
500エラーが発生した場合に部分ページレンダリングの可能性を防ぐにはどうすればよいですか?
- これは、インラインコードでのみ発生します。エラーがコードビハインドである場合、エラーは通常表示されます。
- コードで何も(Response.Flushを呼び出すことはありません)
- Response.BufferOutputは
- 真のコードはResponse.Filterを設定されているが、私はそれをコメントしようと、それは
これは正常な動作ではありません。クライアントに*すべての応答が送信される前にページ全体が実行されます。したがって、あなたに部分的な応答を送信して、別の応答を送信することはできません。 AJAX経由で他のページに読み込んでいますか?あなたの質問のように見える[MCVE](http://stackoverflow.com/help/mcve)がありません。 – mason