我想为连接到我的数据库的 asp gridview 设置一个自定义错误页面,而不是传统的错误页面。例如,当我尝试删除具有某些依赖项(外键)的对象时,我想为用户显示一条用户友好的消息。
感谢您的帮助。
如果没有地方可以捕获违规代码,那么您最好的选择可能是使用 asp.net 的自定义错误页面,该页面将在发生未处理的异常时显示特定页面。要启用自定义错误,请将以下部分添加到 web.config 文件
<customErrors mode="On" defaultRedirect="~/Error/Error.aspx">
</customErrors>
有关自定义错误的更多信息,请查看:http ://www.asp.net/web-forms/tutorials/deployment/deploying-web-site-projects/displaying-a-custom-error-page-cs
在自定义错误页面中,将此代码添加到页面加载事件中,以检查发生的最后一个错误并显示更友好的消息:
Exception lastError = HttpContext.Current.Server.GetLastError;
if (lastError is SqlClient.SqlException) // Check that the last exception was a Sql Exception
{
SqlClient.SqlException sqlex = (SqlClient.SqlException) lastError;
switch (sqlex.Number) // Check what type of Sql error occurred
{
case 124: // FOREIGN KEY Constraint failed referential check upon DELETE of row in referenced table
// Display appropriate error message on the page
break;
}
}
有关 Sql 错误编号的更多信息,请访问http://www.scribd.com/doc/7679522/SQL-Server-Error-Codes
我只需在 web.config 中设置 CustomError mode="On" 并重定向到自定义 error.aspx 页面