关闭顶部展开顶部

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

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:ASP.NET立即上手教程(6)
表单验证服务器控件 验证介绍 网络形成框架包括一套易用而功能强大的用于验证的服务器控件,用来检查输入表单的错误,并且在必要的时候,向用户显示提示信息。将验证控件添加到设计圈套表格

Asp.net引入了一种新的声明数据绑定的语法。这种极其灵活的语法允许开发者不仅绑定数据源,而且可以绑定简单的属性、集合、表达式、甚至是调用方法所返回的结果。下面的列表显示了这种新语法的一些例子:
简单属性

Customer: <%# custID %>

集合

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

myArray %>' runat="server">

表达式

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

) %>

方法结果

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

尽管这种语法看上去和asp中Response.Write的简写方式<%= %>很类似,但他们的运行机理却大不相同。Response.Write的简写语法在页面处理的时候求值,而asp.net数据绑定语法只有当调用DataBind方法的时候才求值。

DataBind是Page和所有服务器控件的一个方法。当你对一个父控件调用DataBind方法的时候,他所包含的子控件都会调用DataBind方法。比如执行DataList1.DataBind(),DataList模板中的所有控件都引用了DataBind方法。在Page调用DataBind方法--- Page.DataBind()或者简单的DataBind() ---导致页面上所有的数据绑定表达式都会被求值。DataBind经常在Page_Load事件中被调用,比如下面的例子:

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

你几乎可以在.aspx页面中声明部分的任何地方使用数据绑定表达式,在运行时提供它所计算的预期的数据类型。当求值以后,简单的属性、表达式以及上例中的方法,将向用户显示文本。在这些情况下,数据绑定表达式必须求出一个string类型的值。在集合的例子中,数据绑定表达式所求值的类型,对于ListBox的DataSource 属性来说是有效的。你会发现,在数据绑定表达式中为了得到期望的结果,强制转换结果值的类型,是很有必要的。例如,如果count是一个整数:

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

绑定简单属性

Asp.net数据绑定语法支持绑定页面的公共变量和属性,以及页面上其他控件的属性。

下面的例子说明了绑定到页面的公共变量和简单属性。注意这些值在调用DataBind()之前已被初始化。

绑定集合和列表

列表服务器控件,如DataGrid、 ListBox 和 HTMLSelect,使用集合作为数据源。下面的例子说明绑定到常用的CLR 集合类型。这些控件只能绑定到支持IEnumerable, ICollection, 或 IListSource 接口的集合。通常,您可以绑定到ArrayList、 Hashtable、 DataView 和DataReader.

很多时候,在绑定到页面或控制之前,你可能会操作这些数据。

DataBinder.Eval方法

Asp.net框架提供了一个静态方法DataBinder.Eval,可以计算后期数据绑定表达式的值,并可以将结果任意格式化为字符串。DataBinder.Eval是很方便的,他排除了许多开发人员必须作的(通过强制改变值的类型来得到预期的数据类型)显式转换。尤其是在带有模板列表的数据绑定控件中,因为经常需要显式转换数据行和数据字段,所以它特别有用。

仔细看下面的代码,整数将被显示为货币型字符串。使用标准的asp.net数据绑定语法,为了得到数据字段IntegerValue,你必须首先显式转换数据行的类型,然后作为String.Format方法的参数才能得到结果

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

这样的语法实在错综复杂的难以记忆。比较而言,DataBinder.Eval 就很简单了。它带有三个参数:数据项的命名容器、数据字段名称和格式化字符串。 在模板列表如DataList、DataGrid、或 Repeater,命名容器总是Container.DataItem。 Page 是另一个可以被DataBinder.Eval使用的命名容器。

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

格式化字符串参数是可选的。如果忽略参数,DataBinder.Eval 返回对象类型的值,就象下面的代码这样:

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

很重要的一点需要注意:由于受后期绑定影响,DataBinder.Eval与标准的数据绑定语法相比,在执行效率上有明显的差别。因此有选择地使用DataBinder.Eval,特别是不需要对字符串进行格式化的时候。

分享:ASP.NET立即上手教程(5)
应用样式到HTML服务器控件 WEB是一个灵活的用户接口环境,不同的站点在视觉和感觉上极尽变化之能事。层叠式样式表(CSS)的广泛应用,极大的丰富了WEB的设计。所有ASP.NET的HTML服务器控件和W

来源:模板无忧//所属分类:.Net教程/更新时间:2008-08-22
loading.. 评论加载中....
相关.Net教程
闂佹眹鍩勯崹閬嶆偤閺囶澁缍栭柛鈩冪⊕閳锋帗銇勯弴妤€浜惧銈忕秶閹凤拷
濠电偛顕慨顓㈠磻閹炬枼妲堥柡鍌濇硶婢ф稒淇婇懠顒夆偓婵嬫煟閵忊晛鐏查柟鍑ゆ嫹
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径瀣閻庣懓瀚竟鍡欐崲娑斾線鏌i姀鈺佺伈闁瑰嚖鎷�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径濠勵吋闂佽鍨庨崟顓фК闂佽閰eḿ褍螞濞戙垺鍋夐柨鐕傛嫹
闂備胶枪缁绘劙骞婃惔銊ョ劦妞ゆ帒鍊哥敮鍫曞箹鐎涙ḿ鐭掔€规洘绻堥弫鎾绘晸閿燂拷
闂備胶枪缁绘劙骞婃惔銊ョ劦妞ゆ巻鍋撻柛姘儑缁﹪鏁傞崜褏鐓撻柣搴岛閺呮繈鎯屽▎鎴犵=濞撴艾锕ョ€氾拷
闂備浇銆€閸嬫挻銇勯弽銊р槈闁伙富鍣i弻娑樷攽閹邦亞鑳虹紓浣靛妽濡炶棄顕i妸鈺婃晬婵炲棙鍨电粭锟犳⒑閸濆嫬鈧骞婇幘鑸殿潟闁跨噦鎷�
闂備礁鎼崯鐗堟叏妞嬪海绀婂鑸靛姈閻擄綁鎮规潪鎷岊劅婵炲眰鍊曢湁闁挎繂妫欑粈鈧梺鍛娚戦悧鐘茬暦閹扮増鏅搁柨鐕傛嫹
婵犵妲呴崹顏堝礈濠靛棭鐔嗘俊顖氬悑鐎氱粯銇勯幘瀵哥畺閻庢熬鎷�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓奸崶銊ヮ伕濡炪倖鎸荤换鍐偓姘虫珪娣囧﹪顢涘Δ鈧晶鍙夌節椤喗瀚�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎规洦鍓熼、娆撳礂閻撳簶鍋撻悽鍛婄厸闁割偅绻勫瓭婵犳鍣幏锟�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾闁哄苯鎳橀崺鈧い鎺嗗亾闁宠閰i獮鎴﹀箛闂堟稒顔嗛梻浣告惈鐎氭悂骞忛敓锟�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎规洩缍侀獮瀣攽閸偂绱�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径濠勭厬闂佺懓鐡ㄧ换鍕敂鐎涙ü绻嗘い鏍殔婢у弶绻濋~顔藉
闂佽楠搁崢婊堝礈濠靛鍋嬮柟鎯版閻鈹戦悩鎻掓殭闁奸潧缍婇弻銈夋嚍閵夈儱顫嶉梺缁樼壄缂嶄礁鐣峰▎鎾存櫢闁跨噦鎷�
UB闂備礁婀辩划顖炲礉濡ゅ懐宓侀柛銉㈡櫆鐎氭岸鎮楀☉娅虫垿锝為敓锟�
闂備浇澹堟ご绋款潖婵犳碍鐒鹃悗鐢电《閸嬫捇鐛崹顔句痪濠电姭鍋撻柨鐕傛嫹
闂佽楠哥粻宥夊垂閸濆嫸鑰块柛銏㈠殰
闂備礁鎲″缁樻叏妞嬪海绀婂璺虹灱閸楁碍绻涢崱妤€顒㈤柛鐐差槹缁绘稓绱欓悩鍝勫帯闂佺ǹ楠忛幏锟�
缂傚倸鍊烽悞锕傛偡閿曞倸鍨傛繝濠傚椤╅攱銇勯幒宥囶槮缂佹彃婀遍埀顒傚仯閸婃繄绱撳棰濇晩闁跨噦鎷�
©2017 www.mb5u.com婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎殿噮鍣i幃鈺呭箵閹烘挸鐦�
闂備浇銆€閸嬫捇鏌熼婊冾暭妞ゃ儻鎷�&闂備礁鎲$敮鎺懳涢弮鍫燁棅闁跨噦鎷�