PC6下载站

分类分类

从ASP迁移至ASP+ --转换其他的页面

关注+2004-11-07作者:蓝点

至于剩余的页面,我们依样画葫芦,使用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控件)中的列的值传递给了函数。




展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消