ASP.NET 2.0(C#)(8)

來源:互聯網
上載者:User

介紹

在 ASP.NET 2.0 中有幾個新的資料來源控制項,例如,SqlDataSource、ObjectDataSource、XmlDataSource、AccessDataSource 和 SiteMapDataSource。它們全都可以用來從它們各自類型的資料來源中檢索資料,並且可以綁定到各種資料繫結控制項。資料來源控制項減少了為檢索和綁定資料甚至對資料進行排序、分頁或編輯而需要編寫的自訂代碼的數量。

其中 ObjectDataSource 控制項可針對各種基礎資料存放區區(如 SQL 資料庫或 XML)啟用聲明性資料繫結模型。因為頁開發人員也常常將資料檢索(也可能包含商務邏輯)封裝在一個組件對象中,從而在呈現頁和資料提供者之間引入另一個層。ObjectDataSource 控制項允許開發人員使用此傳統的三層結構構造應用程式,同時仍然能夠利用 ASP.NET 中的聲明性資料繫結模型的易用性優點。

關鍵

1、在資料層建立 強型別的DataSet和TableAdapter,TableAdapter查詢可以使用現有的預存程序。註:直接把表或預存程序拖進來會自動建立TableAdapter

2、中介層的類用[System.ComponentModel.DataObject]聲明為資料群組件,CRUD方法分別對應[DataObjectMethod(DataObjectMethodType.Insert)],[DataObjectMethod(DataObjectMethodType.Select)],[DataObjectMethod(DataObjectMethodType.Update)],[DataObjectMethod(DataObjectMethodType.Delete)]

3、web層使用ObjectDataSource展現資料,ObjectDataSource就相當於一個代理。ObjectDataSource只是尋找具有匹配的參數名稱的方法,它不會使用參數的 Type 或 Size,而只是對參數的名稱進行匹配

4、其它

·<asp:Parameter />有ConvertEmptyStringToNull屬性,預設是true。另外還有Direction屬性

·注意<asp:BoundField />的這幾個屬性NullDisplayText,HtmlEncode,ApplyFormatInEditMode,InsertVisible,DataFormatString,ReadOnly

·DataKeyNames有多個值的話用“,”分隔,用<asp:ControlParameter />綁定的話給其加一個“PropertyName”屬性,值類似如下“SelectedDataKey.Values[0]”

·關於綁定:簡單屬性<%# custID %>;集合<asp:ListBox id="List1" datasource='<%# myArray %>' runat="server">;運算式<%# ( customer.FirstName + " " + customer.LastName ) %>;方法<%# GetBalance(custID) %>

·<%# Eval("field1") %> 和 <%# Bind("field1") %>,Eval是單向綁定,Bind是雙向邦定

·<asp:ObjectDataSource />有一個OldValuesParameterFormatString屬性一般不用,不過如果要處理開放式並行存取之類的就會用到。當該屬性的值為“original_{0}”的時候“original_參數名”則為初始值

·還有一些如編程方式給參數賦值,錯誤處理,得到傳回值之類的請看源碼

樣本

相關預存程序和資料層略,見源碼

單例模式的實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.