ASP.NET 2.0 引入多種數據源控制項,大幅減少資料存取樣板代碼。重點解析 ObjectDataSource 支援傳統三層架構的聲明式繫結。
DataSet + TableAdapter,可直接拖放資料表/預存程序自動生成。[DataObject],CRUD 方法分別標記 [DataObjectMethod(DataObjectMethodType.Select/Insert/Update/Delete)]。ObjectDataSource 設定 TypeName、SelectMethod 等,自動依參數名稱匹配(忽略型別/大小)。<asp:Parameter>:ConvertEmptyStringToNull(預設 true)、Direction。<asp:BoundField>:NullDisplayText、HtmlEncode、ApplyFormatInEditMode、InsertVisible、DataFormatString、ReadOnly。DataKeyNames 多值用逗號分隔;ControlParameter 需 PropertyName="SelectedDataKey.Values[0]"。<%# Eval("field") %>(單向)、<%# Bind("field") %>(雙向)。OldValuesParameterFormatString="original_{0}" 用於樂觀並發。中介層服務類採單例模式確保資源共享,完整代碼見原文附件。