深爱那片海 发表于 2015-1-16 22:58:37

ASP编程:利用 ASP+ 列表绑定控件(上)

缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全asp+|控件简介

  Repeater、DataList和DataGrid控件组成ASP+页面框架中System.Web.
UI.WebControls称号空间内的相干Web控件集。这些控件使HTML显现所绑
定列表或数据源的内容。因而,将它们统称为“列表绑定控件”。

与框架中的别的Web

  控件相似,这些控件供应分歧的编程模子并封装一个自力于扫瞄器的
暗示逻辑。这些特征使开辟职员可以针对工具模子编程而不必必需把握与
HTML相干的那些纷歧致的和庞大的手艺常识。

  这三种控件能够按多种结构(包含列表、分栏/报纸栏目和流结构
(HTML流))来暗示与其相干的数据源内容。别的,它们还同意您创立完
全分歧的或完整定制的结构。除封装有暗示逻辑外,还供应了用来处置
已发送数据、实行形态办理和激发事务的功效。最初,它们还对诸如选择、
编纂、分页和排序之类的尺度操纵供应分歧级其余撑持。这些控件能够简
化几种罕见的Web使用程序计划,包含报表、购物车、产物列表、查询
了局和导航菜单。

  上面几节将进一步申明这些控件和怎样在您的Web使用程序中利用
它们,和怎样选用控件。

列表绑定控件是怎样事情的?

  本节是本文其他部分的背景质料。概述了这些列表绑定控件的事情方
式、它们的配合特征和某些相干观点。

DataSource属性
  每一个控件都有一个DataSource属性,其范例为System.Collections.
ICollection。用最复杂的话来讲,数据源是同类工具的一个列表或汇合。

  此框架中有几个工具供应了ICollection的完成。这个汇合包含
System.Data.DataView(它一般用来会见干系数据库和XML数据)、一
般ICollection完成(如ArrayList和Hashtable)和数组。

  与传统的数据绑定控件(它们一般必要ADO纪录集)分歧,除完成
ICollection接口以外,这些列表绑定控件未对其数据源强加任何别的要
求。依据计划,经由过程大批增添可作为无效DataSource属性值的范例和数据
布局,它们可以为您的使用程序代码完成最年夜水平的复杂和天真性。

项目汇合

  每一个列表绑定控件都包括一个项目汇合。控件经由过程枚举这些工具以后
的数据源来置进其项目汇合。在枚举中为每一个工具创立单个项目并用于表
示该工具。这些项目同时成为列表绑定控件中包括的控件条理布局的一部
分。

下表列出了与数据源的数据相干联的项目范例。

项目创立的默许项目范例
AlternatingItem为项目汇合中具有奇数下标的项目创立
SelectedItem为选定的项目创立(不管该项目是不是为备选项目)
EditItem为处于编纂形式下的项目创立(不论它是不是被选中或是不是为备选项目)


  控件同时创立将在暗示顶用到的以下项目。可是,它们其实不与数据源
的数据相干联。

标头用来暗示标头信息
注脚用来暗示注脚信息
分开符用来暗示中所示的每一个项目之间的内容,而且仅合用于Repeater和DataList
分页符用来暗示与DataGrid控件相干联的分页UI

    

项目标数据绑定和创立

  列表绑定控件遵守在全部ASP+框架中完成的显式数据绑定模子。这
意味着控件仅当其DataBind办法被挪用时才必要并枚举其数据源。

当挪用DataBind

  办法时,列表控件将枚举其数据源、创立项目并经由过程从其数据源中提
取值来对其举行初始化。假如启用了形态办理,则控件还将保留所需的全
部信息,以便在页面的回传处置时代从头创立其项目而不必从头设置数据
源。

  显式数据绑定模子使您的使用程序代码能够准确地断定在处置序列中
什么时候及那边必要数据源。这类功效使对数据库服务器的会见更少且更高效,
而这些会见一般是Web使用程序最泯灭资本的操纵。

  一样平常划定规矩是每当您必要从头创立项目时都必需挪用DataBind。在年夜多
数情形下,您将在您的页面初次被哀求创立初始项目汇合时挪用DataBind。
在该页面的后续实行过程当中,您将必要在引发项目汇合被变动的各类事务
处置程序中挪用此办法。当用于创立初始数据源的查询被修正时,便可能
产生这类情形。当项目标形态改动(如从只读形式变成编纂形式)时也可
能产生这类情形。

款式

  经由过程在工具模子上利用款式属性,您能够界说全体DataList和DataGrid
控件及其所包括项目标格局和表面。这些属性同意定制字体、色彩、边框
和别的表面要素。控件自己的款式属性(如远景色、背景致、字体和边框
款式)将影响全部控件的暗示。

  别的,每一个控件都包括与其所创立的项目范例相婚配的大批款式属性,
如asItemStyle、AlternatingItemStyle和headerStyle。DataGrid供应
第三级的款式属性,这些属性将影响特定列的一切单位格。控件中包括的
每列都能够具有其本人的headerStyle、FooterStyle和ItemStyle。

模板

  款式把持格局显现,而模板则界说每一个项目标内容和暗示。您能够将
模板看做HTML代码片段,它界说了用来暗示项目标控件条理布局。

  Repeater和DataList控件由您指定的模板来驱动,供应各类可设
置的模板属性,如ItemTemplate、AlternatingItemTemplate和header
Template。与款式相似,每一个模板都对应于一个特定范例的项目。

  DataGrid控件未模板化。可是,控件的Column汇合中的Template
Columns使DataGrid中模板的利用成为大概。TemplateColumn中的每一个单
元格都能够包括一个模板,这与Repeater或DataList控件中的项目极
为相似。这也使DataGrid中的定制暗示成为大概。

模板中的数据绑定

  模板界说项目中包括的控件条理布局。经由过程利用数据绑定表达式,此
条理布局中的控件属性可绑定到与此项目相干联的数据属性上。

  作为模板的逻辑父级的项目在数据绑定表达式中被称为“容器”。每
个容器都有一个称为DataItem的属性,该属性援用其相干联的数据。了局
是,模板中的年夜多半典范数据绑定表达式都将控件属性绑定到Container.
DataItem的某个属性上。将在以下几节先容的示例中进一步申明这类绑定。

Repeater控件

  如后面所述,Repeater控件是完整由模板驱动的,同意创立完整可定
制的暗示和结构。下图申明了这一功效。



摘自Repeater1.aspx:

〈%@Pagelanguage="C#"s</p>asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。

老尸 发表于 2015-1-20 06:57:53

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

透明 发表于 2015-1-24 15:12:17

他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。

愤怒的大鸟 发表于 2015-1-31 19:44:15

他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。

活着的死人 发表于 2015-2-6 21:36:15

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

爱飞 发表于 2015-2-18 19:52:59

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

精灵巫婆 发表于 2015-3-6 10:05:20

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

小妖女 发表于 2015-3-12 23:54:36

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

乐观 发表于 2015-3-20 05:49:45

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
页: [1]
查看完整版本: ASP编程:利用 ASP+ 列表绑定控件(上)