數(shù)據(jù)源
數(shù)據(jù)綁定分為數(shù)據(jù)源和數(shù)據(jù)綁定控件兩部分,數(shù)據(jù)綁定控件通過數(shù)據(jù)源來獲得數(shù)據(jù),通過數(shù)據(jù)源來隔離數(shù)據(jù)提供者和數(shù)據(jù)使用者,數(shù)據(jù)綁定控件通過數(shù)據(jù)源來對數(shù)據(jù)進行修改,數(shù)據(jù)源有SqlDataSource、AccessDataSource、ObjectDataSource、LinqDataSource、EntityDataSource、XmlDataSource等
ObjectDataSourceWeb開發(fā)中應用最廣的數(shù)據(jù)源,做為主要介紹
數(shù)據(jù)綁定控件
數(shù)據(jù)綁定控件有列表數(shù)據(jù)綁定控件(DropDownList、RadioButtonList、ListBox、CheckBoxList、BulletedList等)和復雜控件(DataGrid、GridView、DetailsView、FormView、ListView、Repeater、DataList等,GridView等都是ListView子集)。Repeater是最輕量級的組件,在互聯(lián)網的前臺用的最多,ListView是GridView、DetailsView、FormView、Repeater、DataList等這些控件的大一統(tǒng)者,所以數(shù)據(jù)綁定控件主要介紹Repeater和ListView
ObjectDataSource
ObjectDataSource用來將一個類做為數(shù)據(jù)源,TypeName屬性為數(shù)據(jù)源類的全名,有DeleteMethod(刪除方法)、InsertMethod(新增方法)、SelectMethod(查詢方法)、UpdateMethod(修改方法)等幾個屬性,分別為類中刪除、插入、查詢、更新數(shù)據(jù)的方法名,這些方法可能有參數(shù),參數(shù)的值是通過DeleteParameters、UpdateParameters、InsertParameters等嵌套節(jié)點設置的。
ObjectDataSource訪問自己寫的普通類,在類上標注[DataObject] DataObjectMethod
通常手工編寫ObjectDataSource太麻煩,微軟比較貼心,我們可以通過可視化界面來完成。將ObjectDataSource拖放到界面上,在右上角的智能標志上選擇“配置數(shù)據(jù)源”即可進行配置。數(shù)據(jù)源類一般TypeNameAdapter類,選中類,選擇【下一步】,分別選擇對應的獲得、刪除、更新、插入數(shù)據(jù)的方法
圖解:
1、從工具箱=》數(shù)據(jù)=》ObjectDataSources拖入ObjectDataSourcesControl.aspx界面中

2、點擊控件右上角箭頭“配置數(shù)據(jù)源”彈出對話框選擇業(yè)務對象 即數(shù)據(jù)源需要調用到的業(yè)務層方法 比如班級業(yè)務對象 BLL.Classes 下一步

3、可以分別選擇增刪改查調用的業(yè)務層方法 比如查詢所有未刪除班級 getAllClasses(Boolean isDel)帶有參數(shù)是否刪除下一步對參數(shù)進行設置

4、設置isDel的默認值為false

5、至此數(shù)據(jù)源即配置完成
6、界面中拖入DropDownList數(shù)據(jù)控件 同樣點擊右上角=》選擇數(shù)據(jù)源為上述ObjectDataSources1

運行結果

補充:
Q:我第一訪問該頁面的時候下拉框加載出數(shù)據(jù) 如果第二次我發(fā)送數(shù)據(jù)請求時不調用getAllClasses方法 頁面下拉框還會顯示數(shù)據(jù)嗎?
代碼解答:
前臺頁面簡單控件
A:因為服務器返回的頁面中包含__VIEWSTATE 在頁面生命周期PageLoad之前執(zhí)行的LoadState就是將客戶端提交的__VIEWSTATE保存的控件屬性與值還原到頁面控件中 如下頁面源文件截圖

新聞熱點
疑難解答