AccessDataSource 繼承自 SqlDataSource,其 Selected 事件引數為 SqlDataSourceStatusEventArgs,可檢查 Exception 屬性攔截連線錯誤,避免黃色死機畫面,改顯示友善訊息與空白 GridView。
AccessDataSource、GridView、Label (顯示錯誤訊息)GridView.EmptyDataText="無資料顯示"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,使用者體驗完整。