最近将一个经典的ASP应用程序从Windows 2003迁移到了Windows 2008 R2。经过大量的工作,除了一件事以外,一切都在运作。在搜索结果和类别页面上,尝试转到结果的下一页时出现以下错误:
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument: 'Left'
/incpages/SearchResults.asp, line 1372
相对于此的代码在这里:
<form method="POST" name="MainForm" id="MainForm" action="/SearchResults.asp">
Page <input type="text" value="<%=ThisPageNum%>" size="3" name="Page" id="Page_SR" maxlength="4"> of <%=TotalPagesNum%>
<% Dim pageURL
pageURL = Request.ServerVariables("HTTP_X_ORIGINAL_URL")
%>
<%If ((InStr(LCase(Request.ServerVariables("HTTP_X_ORIGINAL_URL")),"/searchresults.asp")) > 0) Then%>
<%If ThisPageNum <> TotalPagesNum Then %>
<%If (ThisPageNum = "1") Then %>
<input type="image" border="0" name="btnNextPage" src="<%=SEOImage(Config_ImagesFolder & "/buttons/btn_nextpage.gif")%>" onClick="document.getElementById('Page_SR').value=<%=(ThisPageNum + 1)%>">
<%Else%>
<a href="<%Response.Write((Left(pageURL,(Len(pageURL)-1))) & ThisPageNum + 1)%>"><img src="<%=SEOImage(Config_ImagesFolder & "/buttons/btn_nextpage.gif")%>" border="0" name="btnNextPage" /></a>
<%End If %>
<%End If %>
</form>
所以当我到这里时:/SearchResults.asp?cat = 80&amp; page = 1结果显示正常。如果我到这里:/SearchResults.asp?cat = 80&amp; page = 2或TotalPagesNum中的任何其他页面,我都会收到该错误。
我还没能弄清楚为什么它在切换后停止工作