为ASP.GridView设置自定义错误页面

时间:2012-11-06 10:16:32

标签: asp.net gridview

我想为连接到我的数据库的asp gridview设置自定义错误页面而不是传统错误页面。例如,当我尝试删除具有某些依赖项(外键)的对象时,我想为用户显示一条用户友好的消息。

感谢您的帮助。

2 个答案:

答案 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页面