当前位置: 首页 > 图文教程 > 网络编程 > ASP > 将HTML表格转换为ASP+数据列表(DataList)

ASP
ASP下经常用的字符串等函数参考资料
asp下连接数据库 ASP链接数据库字符串大全总结
asp内置对象 ObjectContext 事务管理 详解
asp 内置对象 Application 详解
ASP中 SQL语句 使用方法
ASP 中 Split 函数的实例分析
ASP 中 DateDiff 函数详解 主要实现两日期加减操作
asp 存贮过程 (SQL版asp调用存储过程)
利用ASP实现在线生成电话图片效果脚本附演示
使用ASP记录在线用户的数量的代码
关于ASP生成伪参数技巧 简洁实用的伪(僞)参数
asp 关键词字符串分割如何实现方法
用ASP编写的加密和解密类
ASP之处理用Javascript动态添加的表单元素数据的代码
asp下最常用的19个基本技巧
一些Asp技巧和实用解决方法
asp实现一个统计当前在线用户的解决方案
asp下的一个很简单的验证码程序
asp又一个分页的代码例子
asp实现防止从外部提交数据的三种方法

将HTML表格转换为ASP+数据列表(DataList)


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

      
  作 者 : 雨晨
  
  
     我们从数据存储中取回的数据将被用来显示eVille提供的下两节课程。基于页面设计方面的考虑,标准的表格在这里并不合适。数据需要以一种自定义的格式展示,用来显示课程名,课程描述,以及报名的链接(该链接通过QueryString传递Session_ID)。下面是原始的ASP页面利用ADO记录集创建的一个循环,该循环为每条记录创建一个新的行。
  
     < table width="100%" border="0">
  
     < tr>
  
     < td class="headerRow">Upcoming Events< /td>
  
     < /tr>
  
     < %Do While Not rsUpcoming.EOF%>
  
     < tr>
  
     < td>< p>< b>< %=rsUpcoming("Title")%>< /b>< br>
  
     < %=rsUpcoming("Description")%>< /p>
  
     < p>< a href="enroll.asp?SessionID=< %=rsUpcoming("Session_ID")%>">
  
     Enroll Now!< /a>< /p>< br>
  
     < /td>
  
     < /tr>
  
     < %
  
     rsUpcoming.MoveNext
  
     Loop
  
     %>
  
     < /table>
  
     在ASP+中,我们利用新的服务器控件,DataList。ASP+ DataList是用来创建自定义页面布局的新控件中的一种,这些布局都是基于表格的。DataList通过你赋予的属性来创建表格的行与列,同时使用Template来控制布局。在下面的例子中,我们使用ItemTemplate来格式化每行的布局。该templates控制每个显示出来的单元的布局(一个记录对一个单元):
  
     < tr>
  
     < td class="headerRow">Upcoming Events< /td>
  
     < /tr>
  
     < /table>
  
     < asp:DataList id="dlUpcoming" width="100%" runat="server">
  
     < template name = "ItemTemplate">
  
     < p>< b>< %# Container.DataItem("Title") %>< /b>< br/>
  
     < %# Container.DataItem("Description") %>< /p>
  
     < p>< a href="enroll.asp?SessionID=< %# Container.DataItem("Session_ID") %>">
  
     Enroll Now!< /a>< /p>< br/>
  
     < /template>
  
     < /asp:DataList>
  
     缺省情况下,DataList创建一个单列的表格。通过改变它的一系列属性可使其创建多个列:
  
     < asp:DataList id="dlUpcoming" width="100%"
  
     RepeatDirection="Horizontal"
  
     RepeatColumns="2"
  
     runat="server">
  
     其他的数据显示控件包括DataGrid(标准表格布局)和Repeater(完全自定义布局)。
  
     如果我们现在来看页面,表中的任何内容都不会显示出来。这是因为我们虽然设计了布局,却没提供数据。我们必须显式地将数据(DataSet中的一个DataView)绑定到ASP+ DataList控件。通过设置DataSource属性,调用将要显示数据的控件的DataBind()方法,我们可以做到这一点。
  
     由于ASP+ web应用程序在运行前经过编译,我们毋须遵循页面上的线性处理流程。即使DataList的ID直到页面代码的中部才被确定(当我们实际将控件放在页面上时),我们还是可以在页面起始部分的Page_Load事件中指定控件。这样一来,当页面装载时数据就已经被绑定到控件。
  
     < script language="vb" runat=server>
  
     Sub Page_Load(Source As Object, E As EventArgs)
  
     . . .
  
     cmdUpcoming.FillDataSet