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

ASP
构建你的网站新闻自动发布系统之三
构建你的网站新闻自动发布系统之四
如何用ASP编写网站统计系统一
如何用ASP编写网站统计系统二
如何用ASP编写网站统计系统三
如何用ASP编写网站统计系统四
ASP Error 0115的一些解决办法
ASP 3.0 新特色先睹为快(一)
ASP 3.0 新特色先睹为快(二)
ASP主件中的安全问题
一个汉字转成拼音的代码
使用w3Sockets组件实现域名查询功能
ASP中实现文件上传方法的研究
构建免受FSO组件威胁虚拟主机
用XMLHTTP做一个自己特色的Google
用asp实现的代码批量修改程序
无组件的数据库的备份与还原
用ASPJPEG组件制作图片的缩略图和加水印
解密ASP源代码
XmlHttp异步获取网站数据的例子

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 205 ::
收藏到网摘: 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控件)中的列的值传递给了函数。