나는이처럼 보이는의 .ascx에서 일부 코드가 있습니다인라인 코드는 현재 페이지 내에서 500 페이지를 삽입하는 ASP.NET의 원인
<%
int a = 0;
int b = 5;
int c = b/a;
%>
(0으로 나누기) 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