首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 處理 AccessDataSource 連線失敗優雅降級顯示

     編輯:關於ASP.NET

AccessDataSource 繼承自 SqlDataSource,其 Selected 事件引數為 SqlDataSourceStatusEventArgs,可檢查 Exception 屬性攔截連線錯誤,避免黃色死機畫面,改顯示友善訊息與空白 GridView。

實作步驟

  1. 頁面放置 AccessDataSource、GridView、Label (顯示錯誤訊息)
  2. 設定 GridView.EmptyDataText="無資料顯示"
  3. 訂閱 AccessDataSource.Selected 事件

程式碼後置

protected void AccessDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
    if (e.Exception != null)
    {
        if (e.Exception is System.Data.OleDb.OleDbException)
        {
            lblMessage.Text = "資料庫連線失敗:" + e.Exception.Message;
            e.ExceptionHandled = true; // 阻止 ASP.NET 預設錯誤頁面
        }
    }
}

標記範例

<asp:Label ID="lblMessage" runat="server" ForeColor="Red" /><br/>
<asp:GridView ID="GridView1" runat="server" DataSourceID="AccessDataSource1"
    EmptyDataText="無資料記錄" AutoGenerateColumns="true" />
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
    DataFile="~/App_Data/Northwind.mdb"
    SelectCommand="SELECT * FROM Products"
    OnSelected="AccessDataSource1_Selected" />

設定 ExceptionHandled = true 後,GridView 仍會正常繫結 (無資料),並顯示 EmptyDataText,使用者體驗完整。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved