0

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

感谢您的帮助。

4

2 回答 2

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

于 2012-11-06T13:52:14.237 回答
0

我只需在 web.config 中设置 CustomError mode="On" 并重定向到自定义 error.aspx 页面

于 2012-11-06T10:31:33.853 回答