参考KB306355: How to create custom error reporting pages in ASP.NET by using Visual C# .NET使用主页的Web应用程序的ASP.NET自定义错误页面
我了解如何创建自定义错误页面。有很多如何做的例子,就像上面的链接一样。
我找到的例子都没有显示如何做我以后的事情。
我有一个使用主页的Web应用程序。
在我的母版页,我已经使用了错误的一个Label控件,所有的页面会看到:
<h4 id="bannerError"><asp:Label ID="lblError" runat="server" /></h4>
在后面的代码对母版页,我有这样的:
public void Page_Error(object sender, EventArgs e) {
var err = Server.GetLastError().GetBaseException();
ErrorMessage = String.Format("URL {0}: {1} Error: {2}", Request.Url, err.GetType(), err.Message);
Server.ClearError();
}
public string ErrorMessage {
get { return lblError.Text; }
set {
LogError(value);
lblError.Text = value;
}
}
ErrorMessage
是一个属性。我的其他页面可以很容易地访问它,并且我很容易编辑出有关将错误写入服务器数据库的部分。
的Web.config
页面配置(片段):
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<customErrors defaultRedirect="Default.aspx" mode="On">
<error statusCode="403" redirect="Default.aspx" />
<error statusCode="404" redirect="Default.aspx" />
</customErrors>
</system.web>
</configuration>
我将如何编辑我的文件,以便在任何我在我的应用页面(从母版页中获得)中出现的任何错误,只是表明这个通过母版页的基本信息,而不是将页面重定向到另一个URL?
我知道这不是问题,但另一种方法是在'global.asax' Application_Error'方法中处理这个问题。 http://msdn.microsoft.com/en-us/library/24395wz3(v=vs.100).aspx –
谢谢@EladLachmi。我相信这就是我现在所做的。我正在寻找一种更加优雅的方法,它被包裹在我的主页面中。 – jp2code
我们有一个非常大的网站,其中包含许多母版页,并且我们发现记录所有异常/重定向到错误页面的唯一一致方式是针对在我们的应用程序中抛出的所有不同类型的异常。 –