仓酷云

标题: ASP网站制作之进修ASP.NET数据绑定 [打印本页]

作者: 海妖    时间: 2015-1-16 22:40
标题: ASP网站制作之进修ASP.NET数据绑定
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。假如回到VisualBasic的时期,数据绑定(databinding)是一项被抛弃的愚笨编程手艺。DAO太过复杂和速率迟缓的控件让数据绑定得了个坏名声,很多有履历的开辟职员基本就不是用它。事先很广泛的意见是:“真实的程序员不吃蛋奶饼,而他们一定也不必数据绑定!”
可是有了.NET以后,很多器材都产生了改动,个中一个变更是在疾速使用程序开辟顶用于数据源的绑定控件具有了高效力。现实上,.NET让全部数据绑定的观点超出了原有复杂地把控件附加到数据表格上的观点。这类才能对ASP.NET的开辟职员特别有效,由于这就更多地把他们同使用程序数据会见层的反复不定阻遏起来。
数据绑定101:DataSet
用最复杂的体例来看,数据绑定扳连了将ASP.NET的Web控件,比方说ListBox,附加到包括一些数据库数据的DataSet上。ListBox.DataSource属性让你指定控件要绑定的DataSet,而DataBind办法会真正地用数据来添补控件。因为DataSet能够包括多个字段,以是带有单个数据列的控件(ListBox、DropDownList等等)城市公然DataTextField和DataKeyField属性,如许你就可以够分离指定控件将要以文本情势显现的字段名大概用于值的字段名。
ListingA包括了一个复杂的例子,它将ListBox绑定到Northwind示例数据库的Categories表格上。在创立了DataSet以后,我用DataSource属性将它绑定到ListBox1。然后把DataTextField属性设置为CategoryName,后者是ListBox1应当显现的字段(它会被用作SelectedItem.Text),把DataKeyField属性设置为CategoryId,如许ListBox1就会把它用作键。(它会被前往为SelectedItem.Value.)。
数据绑定201:数组和汇合
好,绑定到DataSet是小孩的幻术。可是假如你所要的数据不在数据库里,那又会怎样呢?假如你想让用户可以从工具数列里举行选择,那又会怎样呢?固然,你可以手动创立包括无数据的DataSet,可是这有点像要盖一座年夜楼,而你所必要的实际上是一个工具棚。假如你只必要间接绑定到数组上,这是否是会很好?
现实切实其实云云,你能够间接绑定到参照范例变量的数组,这正如ListingB。在本文里,我有一个类――DataClass,它公然了两个属性,Description和ID。我能够创立一个DataClass工具的数组,并将它绑定到ListBox1,这和我在ListingA里对DataSet所做的一样:把DataTextField设置为Description(形貌),把DataKeyField设置为ID。
ASP.NET利用及时的ReflectionAPI来反省数组里的工具并找到准确的属性,它然后会把它们载进到ListBox1的ListItemCollection里。要注重,ASP.NET会专门往寻觅property的成员――大众变量大概函数办法在这里都不起感化。
ListingC申明汇合一样可以很好的事情,这实在其实不会让你之外,由于我敢一定到如今这个时分,你应当已十分懂得.NET是怎样利用IEnumerableandIEnumeratorinterfacestoiterateovercollections的。假如你可巧不晓得我在说甚么,试着看看将ListBox1绑定到CollectionClass的ListingD,它经由过程完成Ienumerable和Ienumerator来取得相似汇合的迭代才能。
数据绑定301:DataGrid
对DataGrid和相干控件的数据绑定也是相似的,只不外你要处置的多是控件里一个以上的列――不然,为何要用DataGrid呢?DataGrid缺省的绑定举动相称智能:一切的列(在利用DataSet的情形下)大概大众属性(在对其他工具的情形下)会被显现出来。以是只设置DataSource属性会给你一个函数数据绑定方格。
固然在有些情形下,你不想用DataGrid来为本人创立列。你能够作废缺省的列主动天生的举动,并把AutoGenerateColumns属性设置为伪(false),如许就可以够把持DataGrid的列的天生和绑定。然后你就能够利用VisualStudio.NET的列属性编纂器为格创立列,如图A所示,大概经由过程为DataGrid所应当包括的每一个列创立一个System.Web.UI.WebControls.BoundColumn实例来完成这一点.
图A
VisualStudio.NET供应了一个优异的列属性编纂器
ListingE从头编写了ListingC里汇合绑定的例子,以此来操纵DataGrid。我起首封闭了DataGrid1里列主动天生的特征,然后创立了一个新的BoundColumn工具。经由过程利用DataField属性,我把列工具绑定到DataClass的Description属性上,再把它增加到DataGrid1的列汇合里。

卒业仪式!
数据绑定不单单是疾速使用程序开辟的一个主要办法,它另有助于将你数据布局的细节对使用程序的暗示层埋没起来。可是经由过程一样的机制来绑定命据库和工具数据,微软让在使用程序里利用数据绑定控件加倍有用了。







缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
作者: 再现理想    时间: 2015-1-19 21:13
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者: 老尸    时间: 2015-1-25 08:02
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
作者: 谁可相欹    时间: 2015-2-2 16:18
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
作者: 活着的死人    时间: 2015-2-8 01:14
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
作者: 小女巫    时间: 2015-2-23 21:05
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
作者: 爱飞    时间: 2015-3-7 10:25
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
作者: 仓酷云    时间: 2015-3-14 21:20
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者: 简单生活    时间: 2015-3-21 14:25
那么,ASP.Net有哪些改进呢?




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2