2012-10-08 67 views

回答

1

您可以使用静态页面(例如500.html)来避免此问题。

在响应共同评论:

我想用静态页面,只有当“500.aspx”不起作用。

知道500.aspx是否能够正常工作的唯一方法就是尝试一下。因此,在这种情况下,您可以在web.config的customErrors元素中定义500.aspx,并在global.asax中处理500.aspx的特定情况,例如, :

void Application_Error(object sender, EventArgs e) 
{ 
    HttpException httpException = Server.GetLastError() as HttpException; 
    if (httpException == null) return; 
    int httpCode = httpException.GetHttpCode(); 
    if (httpCode == 500 && 
     Request.Path.EndsWith("/500.aspx", StringComparison.OrdinalIgnoreCase)) 
    { 
     Server.ClearError(); 
     Response.Redirect("~/500.htm"); 
    } 
} 
+0

我想尽可能使用“500.aspx”。因为它可以保存数据库中存储的所有网站信息:导航,公司电子邮件,徽标等。如果“500.aspx”出现错误,我可以使用静态页面吗? –

+0

澄清:我只想在“500.aspx”不起作用时使用静态页面。否则使用“500.aspx”。那可能吗? –

0

如果您创建一个错误页面并始终让用户结束。或者你想每个statusCode一个特定的页面? 如果您愿意,您甚至可以添加邮件方法来通知您某些错误。

+0

我想每个错误代码使用一个单独的页面。这就是我们的客户习惯在CMS中做的事情。那么如何启用电子邮件通知,而不用搞乱C#呢? –

+0

mailmethod是通过C#,所以如果你不想利用这一点,我怀疑你是否可以这样做。 – Rob

+0

啊,好的。只是认为在web.config中有特定的设置。 –

相关问题