当前位置: 首页 > 图文教程 > 网络编程 > ASP > 使用 ASP+ 列表绑定控件(中)

ASP
ASP 编程中20个非常有用的例子(一)
ASP 编程中20个非常有用的例子(二)
ASP基础教程:ADO存取数据库时如何分页显示
ASP基础教程:其它的ASP常用组件
ASP基础教程:学习ASP中子程序的应用
ASP基础教程之ASP程序对Cookie的处理
ASP基础教程之实例学习ASP Response 对象
ASP基础教程之ASP AdRotator 组件的使用
ADO初学者教程:ADO 通过GetString()加速脚本
初学者来认识OLEDB和ODBC的区别
ASP常见数学函数 Abs Atn Cos 等详细详解
VBScript新手入门初学教程:VBScript简介
有用的无声递交表单的客户端函数
Windows 2003 安装设置iis
ASP技巧实例:几行代码解决防止表单重复提交
ASP读sql数据时出现乱码问题的解决方法
ASP技巧实例:使用ASP记录在线用户的数量
ASP技巧实例:关于对表单操作的程序
ASP技巧实例:ASP实现最简洁的多重查询的解决方案
ASP实例:利用缓存提高数据显示效率

使用 ASP+ 列表绑定控件(中)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 105 ::
收藏到网摘: n/a

       Repeater1Page 类覆盖了 Page 类的 OnLoad 方法。此表示在对该页
  的首次请求中调用 DataBind。这将导致对这些页上的数据绑定表达式求
  值并使 repeater 控件列举数据源以及创建其项目。仅在首次请求时调用
  DataBind 方法。这之所以能正常工作是因为 repeater能够在从前一次保
  存状态的回传过程中重新创建其项目,而无需数据源实例。
  
    此页将类型ICollection 的公用属性显露出来。这将在设置repeater
  的 DataSource 属性值的数据绑定表达式中使用。属性的获取实现使用包
  含一组SiteInfo对象序列的ArrayList。此属性是公用的,因为只有页类
  的公用和保护成员可在数据绑定表达式中使用。
  
    每个SiteInfo 对象有两个属性:SiteName 和 SiteURL。当对模板中
  的HyperLink 控件进行数据绑定时将访问这些属性。在此控件的绑定表达
  式中,Container.DataItem 表示要将特定项绑定到其上的单个 SiteInfo
  对象。DataBinder.Eval(Container.DataItem, "SiteName") 访问当前
  SiteInfo 对象的 SiteName 属性。
  
    Repeater1 示例向您介绍了几个基本概念:
  
  ●定义模板
  ●模板中的数据绑定语法和数据绑定表达式
  ●将 ArrayList 的 ICollection 表示用作数据源
  ●在最初处理页的过程中调用 DataBind 方法
  
  DataList 控件
  
    DataList控件是一个模板化控件,它提供使用样式属性可视化地格式
  化其表示的能力。它也可以产生多列布局。
  
  摘自 DataList1.aspx:
  
  〈%@ Page language="C#" src="DataList1.cs" inherits="Samples.
  DataList1Page"%〉
  ...
  
  〈asp:DataList runat=server id="peopleDataList"
   RepeatColumns="2" RepeatDirection="Vertical" RepeatMode="Table"
   Width="100%"〉
  
   〈property name="AlternatingItemStyle"〉
    〈asp:TableItemStyle BackColor="#EEEEEE"/〉
   〈/property〉
   〈template name="ItemTemplate"〉
    〈asp:Panel runat=server font-size="12pt" font-bold="true"〉
     〈%# ((Person)Container.DataItem).Name %〉
    〈/asp:Panel〉
    〈asp:Label runat=server Width="20px"
     BorderStyle="Solid" BorderWidth="1px" BorderColor="Black"
     BackColor='〈%# ((Person)Container.DataItem).FavoriteColor
     %〉'〉
    〈/asp:Label〉
    
    〈asp:Label runat=server Font-Size="10pt"
     Text='〈%# GetColorName(((Person)Container.DataItem).
     FavoriteColor) %〉'〉
    〈/asp:Label〉
   〈/template〉
  〈/asp:DataList〉
  
  此 .aspx 文件显示了用来生成此示例的 DataList 的声明。
  
    在此示例中,DataList 的多列布局是通过将 RepeatColumns 属性设
  置为“2”来实现的。将RepeatDirection设置为“Vertical”会使项目从
  上到下、然后从左到右排列。相反,值设置为“Horizontal”会导致项目
  从左到右、然后从上到下排列。
  
    aspx语法包含对少数几种DataList的样式属性的设置。在此示例中,
  DataList的Width被设置为其父级的100%。设置具灰色背景的Alternating
  ItemStyle是为了获得带有条纹的外观。此示例还说明模板可以包含任意
  复杂的控件定义,以满足在每个项目内获得理想布局的需要。
  
    最后此模板中的数据绑定表达式通过将Container.DataItem转换为其
  类型来使用前期绑定。这不会招致与使用DataBinder.Eval(如 Repeater1
  中所示)相关联的后期绑定的代价。但是,这种方法可能会产生可读性较
  差的表达式。以下示例还给出了一个调用GetColorName方法(该方法是在
  本页有代码支持的文件中