データベースに接続された 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 ページにリダイレクトするだけでした。