|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
也许唯一可以让世人留恋Java的理由就剩下它的王牌——跨平台。DataGridWeb控件是三个ASP.NET数据Web控件中功效最多的。正如前文所述,DataGridWeb控件从WebControl类中出生,因而能够指定本人想要的款式。可是在自界说控件天生的实践HTML标志时,它又是最不天真的。出现的HTML标志中的这类不天真性,是因为DataGrid是计划用于利用HTML<table>以表格情势显现数据所酿成的。因而,关于每条绑定到DataGrid的纪录,城市创立一个独自的表行(<tr>),关于要显现的纪录中的每个字段,城市创立一个独自的表列(<td>)。
DataGridWeb控件供应了很多功效,可极年夜地进步要显现的数据的可用性。比方,把DataGrid的AllowSorting属性设置为True并增加一点源代码,开辟职员就能够把一个一般的DataGrid酿成一个其数据能够由终极用户排序的DataGrid。别的,再增添一点事情量,开辟职员就可以加强DataGrid的功效以同意数据分页或数据的内联编纂。这些功效分明加强了DataGrid的可用性。
除在可用性方面得分很高,DataGrid还供应了很短的开辟工夫。要利用DataGrid入手下手在ASP.NETWeb页面中显现数据,只必要把DataGrid增加到Web页面中并编写两行需要的代码:第一行把数据绑定到DataGrid的DataSource,第二行挪用DataGrid的DataBind()办法。明显,跟着增加到DataGrid中的功效数目的增添,开辟工夫也增添了,但这只是把开辟工夫和其他数据Web控件举行对照。假定您要同意对Repeater显现的数据举行排序。增加如许的功效是必定大概的,可是与用DataGrid完成一样的操纵比拟,这必要分明多良多的工夫和精神。
只管DataGrid具有优秀的可用性和开辟工夫得分,可是这个控件有两个固有的弱点。第一,正如后面所谈到的,DataGrid在对所出现的HTML标志举行自界说方面的功效很无限。是的,您能够自界说DataGrid的分歧行和列的字体、色彩和边框,可是现实仍旧是,当DataGrid显现数据时,了局将是一个HTML<table>,DataSource中的每笔记录都对应个中一个<tr>,每个字段都对应个中一个<td>。
详细地说,DataGrid中的每列都是一个从DataGridColumn类中派生的类实例。有五个内置的DataGrid列范例:
1,BoundColumn
2,ButtonColumn
3,EditColumn
4,HyperLinkColumn
5,TemplateColumn
每个列范例都供应数据或供应某种同意用户和DataGrid举行交互的接口。比方,BoundColumn以纯文本显现DataSource字段的值,而HyperLinkColumn则会显现一个超等链接,其笔墨和URL部分多是DataSource字段。除这些内置的列范例,经由过程创立DataGridColumn类的派生类,还能够创立自界说DataGrid列范例。
有了这么多的DataGrid列范例,大概就不睬解为何DataGrid出现的HTML标志不克不及举行高度自界说了。要晓得,固然每个DataGrid列范例在出现时天生分歧的HTML,可是每列都包括在一组<td>标志中,每行都包括在一组<tr>标志中。因而,即便能够用TemplateColumn自界说每行的特定列的HTML输入,而DataGrid仍旧出现为HTML<table>,个中每利用用一个<tr>,每列利用一个<td>。DataGrid的这类限定克制了更多具有制造性的数据显现。比方,假如要在每表行中显现五笔记录,就不克不及利用DataGrid,必需利用DataList或Repeater。别的,假如要在除<table>以外的HTML标志中显现数据,很遗憾,就不克不及利用DataGrid了。
DataGrid第二个弱点是它的功能。DataGrid是这三个数据Web控件中功能最差的。基于这一点,由DataGrid-出格是具有很多行的DataGrids-发生的ViewState大概会十分年夜。假如利用DataGrid仅仅是为了显现数据,则能够封闭ViewState,可是,利用DataGrid的排序、分页或编纂功效时,就不克不及如许做了。
为了测试DataGrid的功能,我利用了Microsoft的收费WebApplicationStressTool(WAST)。在本文最初的“基准设置”一节中列出了准确的测试前提和WAST设置。别的,测试利用的代码也可在本文最初下载。
这个WebApplicationStressTool会向Web服务器收回一组特定的URL哀求。关于每项测试,我都在一分钟以内尽量快地不休哀求一个URL。WAST呈报了很多功能权衡尺度;我要存眷的一个权衡尺度是每秒哀求数,它标明了Web服务器每秒能实行几次ASP.NETWeb页面。
关于一个仅显现数据的复杂DataGrid,运转了两个测试。详细地说,DataGrid显现了来自Northwinds数据库的Customers表(Customers表统共包括91笔记录)的四个字段。DataGrid的AutoGenerateColumns属性设置为True。第一项测试把DataGrid放在一个Web窗体(<formrunat="server">)中,而第二项测试则没有。假如在窗体中安排一个控件而不把它的EnableViewState属性显式设置为False,那末该控件则会用ViewState坚持它的形态。创立这个ViewState项多是一个对照费时的历程,因而削减了可处置的总的每秒哀求数,了局以下图所示。
应当说,DataGridWeb控件的功能并非很幻想。
在经过全球个人PC市场占有90%的微软对asp.net不断优化与整合后,asp.net与微软自身平台的动用上更加的高效,加上asp.net在应用上非常容易上手,相信asp.net仍会是最多客户选用的脚本语言,并会在未来几年继续领跑。 |
|