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

ASP
编写通用的asp防注入程序
vbs(asp)下的Function 语句
ASP中类Class相关内容的整理资料
字符批量替换程序asp服务器版
旁注-网站小助手旭方修改免杀asp版
用正则表达式写的HTML分离函数
asp中"无限流"分页程序代码
asp的一个日期格式化函数
asp中创建多级目录的两段代码
asp中去除内容HTML标签的三个function函数
chr(9)、chr(10)、chr(13)、chr(32)、chr(34)讲解
方便的大家admin及admin888 经过 md5加密后16位和32位代码
可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集
asp动态级联菜单代码
ASP中经常使用的SQL语句与教程说明
实例分析之用ASP编程实现网络内容快速查找的代码
服务端 VBScript 与 JScript 几个相同特性的写法与示例
ASP 环境下 VBS 事件应用 示例代码
asp 之上传漏洞终结篇
asp中一段防SQL注入的通用脚本

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


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