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

ASP
自动采集程序
一个防止被采集的方法
帮你打造属于自己的搜索引擎---百度篇
实例讲解ASP实现抓取网上房产信息
XMLHTTP批量抓取远程资料
XMLHTTP抓取远程数据的后期处理
用XMLHTTP很好的一个例子
采集原理---采集技术篇---XMLHTTP
小偷,采集程序常用函数
服务器常用组件
如何在不支持数据库的asp主页上运用ado
做文章系统时, 如何让长篇的文章自动换行
Access中使用Create Procedure创建存储过程
ASP中的时间函数大全 时间操作函数
无组件实现文件上传/下载
asp网页邮箱访问
不用模板只用ASP+FSO生成静态HTML页的一个方法
用sql设置access的默认值
Asp事务处理
统计有多少行JS代码和ASP代码

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


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