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

ASP
ASP漏洞及安全建议(3)
ASP漏洞及安全建议(4)
实现聊天室的悄悄话功能(上)
实现聊天室的悄悄话功能(中)
用ASP实现悄悄话的功能
《 优化你的ASP程序 》
让ASP应用系统成为跨平台的应用系统
让ASP应用系统成为跨平台的应用系统(2)
使用ASP加密算法加密你的数据(一)
使用ASP加密算法加密你的数据(二)
用ASP制作个性化的调查板
asp+语法介绍(二)---书写我们的第一个asp+ 文件
asp+语法介绍(一)
asp+语法介绍(三)----asp+的服务器端编程初步
asp+语法介绍(四)----asp+的服务器端编程进介
asp+语法介绍(五)----asp+的服务器端编程控件篇
sp+语法介绍(六)----数据库篇
用ASP和VBScript上载文件(一)
用ASP和VBScript上载文件(二)
解析正则表达式(原创)

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


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