1

まず、ASP は私のものではなく、coldfusion です。私は、非営利の動物保護団体が Web サイトでいくつかの一見単純な項目を更新するのを手伝っていますが、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

あなたがしようとしたことは正しいのですが、クラシック ASP の構文は間違っています。試す...

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