当前位置: 首页 > 图文教程 > 网络编程 > ASP > 急不可耐了?转换其他的页面吧!

ASP
ASP进阶教程Ⅰ:循序渐进学留言薄
ASP进阶教程Ⅱ:一个简单的留言簿
ASP进阶教程Ⅲ:给留言簿润下色
ASP进阶教程Ⅵ:留言簿在线删除留言
ASP进阶教程Ⅴ:留言簿在线留言编辑(一)
ASP进阶教程Ⅴ:留言簿在线留言编辑(二)
ASP进阶教程Ⅳ:加入精彩留言
ASP进阶教程Ⅸ:留言查询功能(一)
ASP进阶教程Ⅸ:留言查询功能(二)
ASP进阶教程Ⅷ:数据库版本的留言簿
ASP基础讲座(上)
ASP系列讲座(一)关于 Active Server Pages
ASP系列讲座(二)ASP 的新功能
Asp用于分页的两个函数
ASP与Oracle连接时的TNS错误
小工具:统计有多少行JS代码和ASP代码,并有多少字节
一个xmlhttp读取xml的例子
ASP终极防范上传漏洞
防止网站内容被人小偷和采集的ASP代码
批量判断域名是否被注册程序代码

ASP 中的 急不可耐了?转换其他的页面吧!


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

      
  作 者 : 雨晨
  
  
     至于剩余的页面,我们依样画葫芦,使用ASP+ DataList或是Repeater控件。这样做是必要的,因为按设计要求需要定制的数据布局,而不是一个标准的表格显示。其中有个页面,classcatalog.aspx,有一处要求勾选值,然后根据选中的值,运行两个可能输出中的一个。该页就利用了Repeater控件,因此我们显示地创建了表格的行与列,而没有让控件来完成这一切。这是在templates的内部完成的。在ASP中,看起来是这样子的:
  
     '检查是否提供优惠
  
     If rsSessions("Special") = True Then
  
     '若本课程提供优惠,则输出“Special Offer!”
  
     Response.Write "< td valign=top align=center>" & vbCrLf
  
     Response.Write "< a href=""classdetail.asp?SessionID="
  
     Response.Write rsSessions("SessionID")
  
     Response.Write """name=""Click for more detail"">"
  
     Response.Write "Special Offer!"
  
     Response.Write "< /td>"
  
     Else
  
     '若本课程不提供优惠,则在栏中输出"--"
  
     Response.Write "< td valign=top align=center>--< /td>"
  
     End If
  
     为了在ASP+中达到同样的效果,我们使用了一个函数。在脚本块中,位于Page_Load 事件下,我们创建以下代码:
  
     Function CheckSpecial(ByRef blnSpecial As Boolean, _
  
     ByRef intNumber As Integer) As String
  
     If blnSpecial = True Then
  
     CheckSpecial = "< a href=" & Chr(34) & _
  
     "classdetail.aspx?SessionID=" & _
  
     intNumber & Chr(34) & ">Special!!< /a>"
  
     Else
  
     CheckSpecial = "--"
  
     End If
  
     End Function
  
     然后只须从ASP+ Repeater中调用函数:
  
     < template name = "ItemTemplate">
  
     < tr>
  
     [ other data being displayed ]
  
     < td valign=top align=center>
  
     < %=CheckSpecial(Container.DataItem("Special"),
  
     Container.DataItem("Session_ID"))%>
  
     < /td>
  
     < /tr>
  
     < /template>
  
     Container指的是涉及我们的ASP+ Reapter控件的数据的父对象。通过调用Container.DataItem("Special")及Container.DataItem("Session_ID") ,将父对象(即ASP+ Repeater控件)中的列的值传递给了函数。