我试图在单击Back或Next时,递增或递减变量(tranquerypage),然后使用变量的新值重新加载当前页面,然后可以在加载页面时查询该值。但是,我尝试了一些方法,并且是ASP经典的新手,我遇到了让它正常工作的问题。 vbscript方法没有工作。这是我到目前为止所拥有的 -
<%
tranquerypage = session("tranquerypage")
if session("tranquerypage") = "" then
session("tranquerypage") = 1
end if
%>
<INPUT TYPE=button Name=temp Value="Back" target="_self" onClick="<%call back(tranquerypage)%>"> <INPUT TYPE=button Name=temp Value="Next" target="_self" onClick="<%call nextpage(tranquerypage)%>">
</td>
</tr>
<%
sub back(tranquerypage)
tranquerypage = tranquerypage - 1
end sub
sub nextpage(tranquerypage)
tranquerypage = tranquerypage + 1
end sub
%>
答案 0 :(得分:3)
HTML / JavaScript代码在浏览器中运行,ASP代码在服务器上运行,很可能在两台完全不同的计算机上运行。
此外,浏览器运行JavaScript,这与ASP完全不兼容。
这意味着一件事:您无法通过HTML调用任何ASP函数。故事结束。
与Web服务器通信的接口是:HTTP消息。换句话说,只有通过请求URL,您才能通知服务器客户端上的操作。
因此,您需要做的第一件事就是确定您希望如何向服务器传达您的意图,即URL的外观。
怎么样:
http://yourserver.com/yourpage.asp?page=next
http://yourserver.com/yourpage.asp?page=prev
http://yourserver.com/yourpage.asp?page=5
现在我们确定了URL,让ASP页面理解它。网址参数位于Request
集合中。
<%
Option Explicit ' never work without Option Explicit
Dim page, requestedPage, MAX_PAGE
requestedPage = LCase(Request("page"))
MAX_PAGE = 10
If requestedPage = "next" Then
page = NextPage()
ElseIf requestedPage = "prev" Then
page = PrevPage()
Else
page = SetPage(requestedPage)
End
%>
现在你的ASP代码知道如何处理&#34;页面&#34;网址参数。
让我们定义执行页面实际切换的功能。
<%
Function CurrentPage
If IsNumeric(Session("page")) Then
CurrentPage = Session("page")
Else
CurrentPage = 1
End If
End Function
Function NextPage
NextPage = SetPage(CurrentPage() + 1)
End Function
Function PrevPage
PrevPage = SetPage(CurrentPage() - 1)
End Function
Function SetPage(newPage)
' range check!
If Not IsNumeric(newPage) Then
Session("page") = 1
ElseIf page < 1 Then
Session("page") = 1
ElseIf page > MAX_PAGE Then
Session("page") = MAX_PAGE
Else
Session("page") = Int(newPage)
EndIf
SetPage = Session("page")
End Function
%>
向服务器发送HTTP消息的最简单方法(&#34;请求URL&#34;)带有链接。所以你的HTML看起来像这样:
<a href="/yourpage.asp?page=prev">Previous Page</a>
<a href="/yourpage.asp?page=5">Page 5</a>
<a href="/yourpage.asp?page=next">Next Page</a>
剩下的任务:
Page 5
。MAX_PAGE
设置为比10
更合适的内容。http://yourserver.com/yourpage.asp?page=5
,它会自然地跟随上一页和下一页 - 4和6.找出一种完全通过URL参数进行页面切换并且没有任何会话或cookie值的方法。