我在.ascx中有一些看起来像这样的代码:
<%
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错误,如何防止部分页面渲染的可能性?
答案 0 :(得分:0)
我仍然不知道为什么会这样,但修复结果相当简单。
将Response.Clear();
放入500页的Page_Load()
。