濮阳杆衣贸易有限公司

主頁 > 知識庫 > Asp.Net中的數(shù)據(jù)源概述與配置及實(shí)例代碼

Asp.Net中的數(shù)據(jù)源概述與配置及實(shí)例代碼

熱門標(biāo)簽:南陽外呼系統(tǒng)定制化 合肥電銷外呼系統(tǒng)哪家公司做的好 預(yù)測式外呼系統(tǒng)使用說明 玉林市機(jī)器人外呼系統(tǒng)哪家好 百度ai地圖標(biāo)注 同安公安400電話怎么申請流程 蘋果手機(jī)凱立德地圖標(biāo)注 申請400電話手續(xù) 電話機(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ù)進(jìn)行修改,數(shù)據(jù)源有SqlDataSource、AccessDataSource、ObjectDataSource、LinqDataSource、EntityDataSource、XmlDataSource等

ObjectDataSourceWeb開發(fā)中應(yīng)用最廣的數(shù)據(jù)源,做為主要介紹

數(shù)據(jù)綁定控件

數(shù)據(jù)綁定控件有列表數(shù)據(jù)綁定控件(DropDownList、RadioButtonList、ListBox、CheckBoxList、BulletedList等)和復(fù)雜控件(DataGrid、GridView、DetailsView、FormView、ListView、Repeater、DataList等,GridView等都是ListView子集)。Repeater是最輕量級的組件,在互聯(lián)網(wǎng)的前臺用的最多,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é)點(diǎn)設(shè)置的。

ObjectDataSource訪問自己寫的普通類,在類上標(biāo)注[DataObject] DataObjectMethod

通常手工編寫ObjectDataSource太麻煩,微軟比較貼心,我們可以通過可視化界面來完成。將ObjectDataSource拖放到界面上,在右上角的智能標(biāo)志上選擇“配置數(shù)據(jù)源”即可進(jìn)行配置。數(shù)據(jù)源類一般TypeNameAdapter類,選中類,選擇【下一步】,分別選擇對應(yīng)的獲得、刪除、更新、插入數(shù)據(jù)的方法

圖解:

1、從工具箱=》數(shù)據(jù)=》ObjectDataSources拖入ObjectDataSourcesControl.aspx界面中

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

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

4、設(shè)置isDel的默認(rèn)值為false

5、至此數(shù)據(jù)源即配置完成

6、界面中拖入DropDownList數(shù)據(jù)控件  同樣點(diǎn)擊右上角=》選擇數(shù)據(jù)源為上述ObjectDataSources1

運(yùn)行結(jié)果

補(bǔ)充:

Q:我第一訪問該頁面的時候下拉框加載出數(shù)據(jù)  如果第二次我發(fā)送數(shù)據(jù)請求時不調(diào)用getAllClasses方法  頁面下拉框還會顯示數(shù)據(jù)嗎?

代碼解答

前臺頁面簡單控件

復(fù)制代碼 代碼如下:

asp : DropDownList ID ="DropDownList1" runat ="server">
/asp : DropDownList>
input type="submit" value="再次請求" />

后臺頁面代碼
復(fù)制代碼 代碼如下:

public partial class ObjectDataSourcesControl : System.Web.UI.Page {
protected void Page_Load( object sender, EventArgs e) {
//由于數(shù)據(jù)綁定控件默認(rèn)會將數(shù)據(jù)保存在ViewState中,因此不會每次刷新頁面都會重新加載數(shù)據(jù),只有第一次需要加載(!IsPostBack)
if (!IsPostBack) {
List MODEL.Classes > lists = new BLL.Classes ().getAllClasses(false );
//用代碼綁定可以將任何實(shí)現(xiàn)了IEnumerable接口的對象綁定到數(shù)據(jù)綁定控件。比如:
//DropDownList1.DataSource = new object[] { 3, 5, 6 };
//DropDownList1.DataBind();
DropDownList1.DataTextField = "CName" ;
DropDownList1.DataValueField = "CID" ;
DropDownList1.DataSource = lists;
DropDownList1.DataBind();
}
}
}

當(dāng)點(diǎn)擊"再次請求時"  后臺頁面判斷ispostback=false不會再次getAllClasses  那為什么頁面下拉框中仍然有值呢?

A:因?yàn)榉?wù)器返回的頁面中包含__VIEWSTATE 在頁面生命周期PageLoad之前執(zhí)行的LoadState就是將客戶端提交的__VIEWSTATE保存的控件屬性與值還原到頁面控件中  如下頁面源文件截圖

您可能感興趣的文章:
  • ASP.NET2.0中數(shù)據(jù)源控件之異步數(shù)據(jù)訪問
  • asp.net下配置數(shù)據(jù)源時出現(xiàn): 未將對象引用設(shè)置到對象的實(shí)例。
  • ASP.NET技巧:做個DataList可分頁的數(shù)據(jù)源

標(biāo)簽:南昌 南京 淄博 海南 嘉興 揚(yáng)州 臺州 南京

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Asp.Net中的數(shù)據(jù)源概述與配置及實(shí)例代碼》,本文關(guān)鍵詞  Asp.Net,中的,數(shù)據(jù)源,概述,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Asp.Net中的數(shù)據(jù)源概述與配置及實(shí)例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于Asp.Net中的數(shù)據(jù)源概述與配置及實(shí)例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    灌阳县| 胶南市| 临沂市| 桃园市| 静安区| 周宁县| 东港市| 阜康市| 阳谷县| 岫岩| 阳信县| 杂多县| 汝州市| 西畴县| 黑河市| 肥东县| 安阳市| 金堂县| 陕西省| 油尖旺区| 虎林市| 龙井市| 永德县| 诸暨市| 青州市| 洞头县| 桂林市| 剑河县| 白玉县| 获嘉县| 遂昌县| 霞浦县| 宽甸| 利川市| 积石山| 宁远县| 阿克陶县| 郯城县| 钟祥市| 定边县| 浑源县|