1

首先,ASP 不是我的东西,coldfusion 是。我正在帮助一个非营利性动物救援组织在他们的网站上更新一些看似简单的项目,但我并不精通 ASP,所以事实证明它比我预期的要难。为他们设置网站的人将滑块放在每个页面上。他们想要做的是只在 index.asp 上有页面。

我想出了以下代码逻辑,但它不起作用。我已经对其进行了研究,并且知道它为什么不起作用,但我无法弄清楚如何使它起作用。
更新:

<% if(Request.ServerVariables("SCRIPT_NAME") = "index.asp") { %>
<!--#include file ="_slider.asp"-->
<% } %>

任何建设性的指导或链接或小提琴将不胜感激。我不打算在网站上提供太多帮助,直到主要开发人员从现役返回。

更新:我更新了我的代码以包含滑块,如下所示,但我仍然收到非描述性页面错误。

<% 
Dim ThisPage
ThisPage = getFileName(Request.ServerVariables("SCRIPT_NAME"))
if ThisPage = "index.asp" Then %>
    <!--#include file="/includes/_mainPage_slider.asp"-->   
<% End If %>
4

2 回答 2

2

你有2个问题。
首先,
Request.ServerVariables("SCRIPT_NAME") 返回完整路径和文件名。如果只想获取文件名,可以使用这个函数:

Function getFileName()
  Dim lsPath, arPath

  ' Obtain the virtual file path
  lsPath = Request.ServerVariables("SCRIPT_NAME")

  ' Split the path along the /s. This creates an
  ' one-dimensional array
  arPath = Split(lsPath, "/")

  ' The last item in the array contains the file name
  GetFileName =arPath(UBound(arPath,1))
End Function

其次,
您使用的是PHP,但您说您使用的是asp-classic。不知道你是否知道。上面的示例使用 VBScript(主要的经典 ASP 语言)。如果您使用的是 PHP,那么您应该能够弄清楚如何翻译它。

如果您尝试使用 ASP,则使用上述函数,您的代码应如下所示:

<% if(getFileName(Request.ServerVariables("SCRIPT_NAME")) = "index.aspx") Then %>
<!--#include file ="_slider.aspx"-->
<% End If %>

参考

于 2013-04-22T21:34:41.293 回答
0

您尝试做的事情是正确的,但 Classic ASP 的语法是错误的。尝试...

<% if Request.ServerVariables("SCRIPT_NAME") = "index.asp" then %>
<!--#include file ="_slider.asp"-->
<% end if %>
于 2013-04-29T07:40:02.480 回答