日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

ASP.NET立即上手教程(8)_.Net教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:ASP.NET立即上手教程(6)
表單驗(yàn)證服務(wù)器控件 驗(yàn)證介紹 網(wǎng)絡(luò)形成框架包括一套易用而功能強(qiáng)大的用于驗(yàn)證的服務(wù)器控件,用來檢查輸入表單的錯(cuò)誤,并且在必要的時(shí)候,向用戶顯示提示信息。將驗(yàn)證控件添加到設(shè)計(jì)圈套表格

Asp.net引入了一種新的聲明數(shù)據(jù)綁定的語法。這種極其靈活的語法允許開發(fā)者不僅綁定數(shù)據(jù)源,而且可以綁定簡(jiǎn)單的屬性、集合、表達(dá)式、甚至是調(diào)用方法所返回的結(jié)果。下面的列表顯示了這種新語法的一些例子:
簡(jiǎn)單屬性

Customer: <%# custID %>

集合

Orders: <asp:ListBox id="List1" datasource='<%#

myArray %>' runat="server">

表達(dá)式

Contact: <%# ( customer.First Name " " customer.LastName

) %>

方法結(jié)果

Outstanding Balance: <%# GetBalance(custID) %>

盡管這種語法看上去和asp中Response.Write的簡(jiǎn)寫方式<%= %>很類似,但他們的運(yùn)行機(jī)理卻大不相同。Response.Write的簡(jiǎn)寫語法在頁面處理的時(shí)候求值,而asp.net數(shù)據(jù)綁定語法只有當(dāng)調(diào)用DataBind方法的時(shí)候才求值。

DataBind是Page和所有服務(wù)器控件的一個(gè)方法。當(dāng)你對(duì)一個(gè)父控件調(diào)用DataBind方法的時(shí)候,他所包含的子控件都會(huì)調(diào)用DataBind方法。比如執(zhí)行DataList1.DataBind(),DataList模板中的所有控件都引用了DataBind方法。在Page調(diào)用DataBind方法--- Page.DataBind()或者簡(jiǎn)單的DataBind() ---導(dǎo)致頁面上所有的數(shù)據(jù)綁定表達(dá)式都會(huì)被求值。DataBind經(jīng)常在Page_Load事件中被調(diào)用,比如下面的例子:

protected void Page_Load(Object Src, EventArgs E) {
DataBind();
}

你幾乎可以在.aspx頁面中聲明部分的任何地方使用數(shù)據(jù)綁定表達(dá)式,在運(yùn)行時(shí)提供它所計(jì)算的預(yù)期的數(shù)據(jù)類型。當(dāng)求值以后,簡(jiǎn)單的屬性、表達(dá)式以及上例中的方法,將向用戶顯示文本。在這些情況下,數(shù)據(jù)綁定表達(dá)式必須求出一個(gè)string類型的值。在集合的例子中,數(shù)據(jù)綁定表達(dá)式所求值的類型,對(duì)于ListBox的DataSource 屬性來說是有效的。你會(huì)發(fā)現(xiàn),在數(shù)據(jù)綁定表達(dá)式中為了得到期望的結(jié)果,強(qiáng)制轉(zhuǎn)換結(jié)果值的類型,是很有必要的。例如,如果count是一個(gè)整數(shù):

Number of Records: <%# count.ToString() %>

綁定簡(jiǎn)單屬性

Asp.net數(shù)據(jù)綁定語法支持綁定頁面的公共變量和屬性,以及頁面上其他控件的屬性。

下面的例子說明了綁定到頁面的公共變量和簡(jiǎn)單屬性。注意這些值在調(diào)用DataBind()之前已被初始化。

綁定集合和列表

列表服務(wù)器控件,如DataGrid、 ListBox 和 HTMLSelect,使用集合作為數(shù)據(jù)源。下面的例子說明綁定到常用的CLR 集合類型。這些控件只能綁定到支持IEnumerable, ICollection, 或 IListSource 接口的集合。通常,您可以綁定到ArrayList、 Hashtable、 DataView 和DataReader.

很多時(shí)候,在綁定到頁面或控制之前,你可能會(huì)操作這些數(shù)據(jù)。

DataBinder.Eval方法

Asp.net框架提供了一個(gè)靜態(tài)方法DataBinder.Eval,可以計(jì)算后期數(shù)據(jù)綁定表達(dá)式的值,并可以將結(jié)果任意格式化為字符串。DataBinder.Eval是很方便的,他排除了許多開發(fā)人員必須作的(通過強(qiáng)制改變值的類型來得到預(yù)期的數(shù)據(jù)類型)顯式轉(zhuǎn)換。尤其是在帶有模板列表的數(shù)據(jù)綁定控件中,因?yàn)榻?jīng)常需要顯式轉(zhuǎn)換數(shù)據(jù)行和數(shù)據(jù)字段,所以它特別有用。

仔細(xì)看下面的代碼,整數(shù)將被顯示為貨幣型字符串。使用標(biāo)準(zhǔn)的asp.net數(shù)據(jù)綁定語法,為了得到數(shù)據(jù)字段IntegerValue,你必須首先顯式轉(zhuǎn)換數(shù)據(jù)行的類型,然后作為String.Format方法的參數(shù)才能得到結(jié)果

<%# String.Format("{0:c}", ((DataRowView)Container.DataItem)["IntegerValue"]) %>

這樣的語法實(shí)在錯(cuò)綜復(fù)雜的難以記憶。比較而言,DataBinder.Eval 就很簡(jiǎn)單了。它帶有三個(gè)參數(shù):數(shù)據(jù)項(xiàng)的命名容器、數(shù)據(jù)字段名稱和格式化字符串。 在模板列表如DataList、DataGrid、或 Repeater,命名容器總是Container.DataItem。 Page 是另一個(gè)可以被DataBinder.Eval使用的命名容器。

<%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") %>

格式化字符串參數(shù)是可選的。如果忽略參數(shù),DataBinder.Eval 返回對(duì)象類型的值,就象下面的代碼這樣:

<%# (bool)DataBinder.Eval(Container.DataItem, "BoolValue") %>

很重要的一點(diǎn)需要注意:由于受后期綁定影響,DataBinder.Eval與標(biāo)準(zhǔn)的數(shù)據(jù)綁定語法相比,在執(zhí)行效率上有明顯的差別。因此有選擇地使用DataBinder.Eval,特別是不需要對(duì)字符串進(jìn)行格式化的時(shí)候。

分享:ASP.NET立即上手教程(5)
應(yīng)用樣式到HTML服務(wù)器控件 WEB是一個(gè)靈活的用戶接口環(huán)境,不同的站點(diǎn)在視覺和感覺上極盡變化之能事。層疊式樣式表(CSS)的廣泛應(yīng)用,極大的豐富了WEB的設(shè)計(jì)。所有ASP.NET的HTML服務(wù)器控件和W

來源:模板無憂//所屬分類:.Net教程/更新時(shí)間:2008-08-22
相關(guān).Net教程