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

ASP
实例详解ASP中断开记录集的使用方法
代码指导用ASP木马实现FTP和解压缩
防范脚本入侵,你做好准备了吗?
ASP中检查没有数据提交的页面
ASP程序代码执行时间统计类
ASP实现将长的标题用省略号收尾
ASP常用代码剪辑
在ASP中利用“正则表达式” 对象实现UBB风格的论坛
ASP批量生成静态页
ASP生成柱型体,折线图,饼图源代码
马克斯电影站生成Rss Feed的代码
ASP怎么谈到应用到类的?
ASP:判断访问是否来自搜索引擎的函数
ASP代码:rs.open语句详细说明
用asp自动解析网页中的图片地址
ASP:True or False,明明白白你的If语句流程
ASP实现在提交表单到数据库的同时发邮件通知
“Web 匿名用户”帐户密码的位置
ASP分页效果之优化
使用新云cms过程中的问题总结

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 156 ::
收藏到网摘: 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