我想为连接到我的数据库的asp gridview设置自定义错误页面而不是传统错误页面。例如,当我尝试删除具有某些依赖项(外键)的对象时,我想为用户显示一条用户友好的消息。
感谢您的帮助。
答案 0 :(得分:1)
如果没有地方可以捕获有问题的代码,那么最好的选择可能是使用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
答案 1 :(得分:0)
我只需要在web.config中设置CustomError mode =“On”并重定向到自定义的error.aspx页面