<Script Language='VBSCRIPT' RUNAT='SERVER'></script> と <% %>は違うの??

このQ&Aのポイント
  • ASP開発において、<Script Language='VBSCRIPT' RUNAT='SERVER'></script>と<% %>は異なる役割を持っています。
  • <Script Language='VBSCRIPT' RUNAT='SERVER'></script>は、サーバーサイドのスクリプトブロックを表し、VBScriptで書かれたコードを実行します。
  • <% %>は、サーバーサイドのコードブロックであり、ASPコードを埋め込むために使用されます。
回答を見る
  • ベストアンサー

<Script Language="VBSCRIPT" RUNAT="SERVER"> </script> と <% %>は違うの??

ASP開発をしています。 あるASPでIncludeファイルで配列宣言 Dim gsABC(10)を宣言します。 Includeファイルの中身 <Script Language="VBSCRIPT" RUNAT="SERVER"> Dim gsABC(10) </script> そして、ASPファイルでその変数gsABC(0)を 使おうとするとエラーが発生します。 けれども、Includeファイルの中身を <% Dim gsABC(10) %> にすると正常に動きます。 2つは同じものだと思っていたのですが、 これによって違うものなのかと認識するように しなければと思ってますが・・・ どこが違うのか分かりません。 どなたか分かりやすく簡単でいいですから 説明して頂けないでしょうか? よろしくお願いします。

  • GBSGBS
  • お礼率36% (370/1012)

質問者が選んだベストアンサー

  • ベストアンサー
  • soushi_ni
  • ベストアンサー率54% (6/11)
回答No.1

おすすめは後者の 「 <% Dim gsABC(10) %> 」です。 Includeでしたら別に構いませんが、前者だとASPやHTMLに拡張子を決めてしまうとソースが丸見えです。 開発でもやりましたが、VB系のソースは基本的に後者だと思っています。

参考URL:
http://tryasp.winscom.co.jp/sample/
GBSGBS
質問者

お礼

なるほど。回答ありがとうございます! タメになりました。

関連するQ&A

  • 【緊急】インクルードファイルに配列変数を使用することができない???

    ASPでVBSCRIPTを使っています。 多くのASPで使う部分を共通化して インクルードファイル(.inc)にして それを読み込んでいるのですが、 インクルードファイルに Dim gsAAA と宣言すると、 普通に使えるのに Dim gsAAA(9) とすると使えません。 配列の変数はインクルードにおくことが できず、かならずローカルのASPで 宣言してやらないとダメなのでしょうか? どのASPでも同じ宣言が必要になってきたので。 どなたか、少しでも分かることがあれば 教えて下さい。お願いします。

  • VBScriptの変数宣言

    ASPでvbscriptを使って処理をしているページの修正を行っていたのですが、その中で不思議な状態が発生しています。 <% Option Explicit On Error Resume Next %> ===== 省略 ===== <% filename = Trim(bobj.Form(bin,"filename")) Dim filename ===== 省略 ===== 普通、上記のような記述ではfilenameの代入のところでエラーが発生すると思うのですが、代入処理の直後にerr.numberを判定しても、エラーが発生していないんです。 includeしてあるファイルの内部も検索しましたが、filenameの変数宣言は見つかりませんでした。 VBScriptって、どこで変数宣言を行っても有効になるのでしょうか? 正常に動いているので、今のところ問題は無いのですが、何か気持ち悪くて。。。 似たような現象が起こった事のある方や、これが正しい動きだというご指摘をお願いいたします。

  • VBScriptで子画面へ配列のデータを渡したい!

    子画面(showModalDialogでオープン)で親画面から渡された引数を利用したいです。 親は配列を渡して、子はその配列の中身を参照したいです。 下記の例でやると、「エラー:型が一致しません。:'window.dialogArguments'」と、(1)の所で言われてしまいます。 色々探したのですが、JavaScriptの例や配列ではない場合の例ばかりでJVScriptの場合のやりかたがわかりません。 どなたか教えてください。 親画面 <script language="vbScript"> <!-- dim arg(20) arg(1) = "Value1" ~ arg(1) = "Value20" window.showModalDialog "ko.html",arg --> </script> 子画面 <script language="vbScript"> <!-- dim arg(20) arg = window.dialogArguments ・・・(1) Msgbox arg(1) --> </script>

  • vbscriptの変数宣言

    教えてください。 プログラム初心者です。 vbscriptで変数をDimで宣言しているものと。Dim無しの変数宣言していないく、 いきなり代入して使っているものもあります。宣言して使うものと使わないものの違いは何でしょうか? よろしくお願いします。

  • VBScript 配列の宣言に変数を使用

    VBScript初心者です。 配列を宣言する際に変数を使用することは出来ないでしょうか。 例えば下記のようにするとエラーになります。 Dim intCnt intCnt = 9 Dim strArray(intCnt) どなたかご存知の方がいらっしゃいましたらお教え下さい。 よろしくお願い致します。

  • Serverの宣言

    ASP初心者です。 windows2000,IIS 5.0を使っています。 ウイルスソフトは使っておりません。 下記プログラムで この変数は宣言されていません。"Server" とエラーがでるのですが、どのサイトで探しても 宣言しないといけないようなことは書いてありません。 どなたかご伝授ください。 (Server.を消してローカルでhtmlを起動するとうまくいきますが、http://localhostで行うとだめです <HTML> <HEAD> <SCRIPT LANGUAGE="VBScript"> <!-- Option Explicit Dim s,pfile,fs,MyHtml Sub aaa_OnClick() Dim objFSO Dim objTS dim session objFSO = Server.CreateObject("Scripting.FileSystemObject") Set objTS = objFSO.OpenTextFile("c:\a.data",2 ,True) objTS.Write("PARTS" & chr(13)) objTS.Close Set objTS = Nothing Set objFSO = Nothing End Sub --> </SCRIPT> </HEAD> <BODY> <INPUT type="button" name="aaa" value=" "><BR> </BODY> </HTML>

  • 隠しフィールドをVBScriptでの受取る方法

    初めての投稿です。 ぜひ、おしえてください。 隠しフィールドのデータを次のページ(VBScript)での受取り方法がお聞きします。 default.aspファイルに下記を記述しています: <FORM NAME="MyForm" method=Post Action="./sub.asp"> <INPUT TYPE=Hidden VALUE="<% Response.Write MyData %>" Name="MyData"> <INPUT type="submit" name="cmdSend" value="送る"> </Form> sub.aspファイル(次ページ)に下記を記述しています: <SCRIPT LANGUAGE="VBScript"> Dim temp temp = MyForm.MyData.Value </SCRIPT> 上記の記述文では、データの引渡しができませんが、 (sub.aspページでMyFormがエラーになります) どなたか、正しい書き方を教えてもらえませんか? すみませんが、よろしくお願いいたします。

  • $_SERVER['SCRIPT_NAME']についての質問

    PHPに関しては先週から勉強し始めている初心者です。 先日、簡単なパンくずリストを自動生成するスクリプトを作ろうと思いました。その際このスクリプトは外部ファイルにして、includeしようと思ったのですが、 $_SERVER['SCRIPT_NAME']; で現在実行しているスクリプトのファイル名を取得する場合は、includeをしたスクリプトのファイル名ではなく、パンくずリスト自身のファイル名を取得されてしまいます。 なので、スクリプト内の $name=$_SERVER['SCRIPT_NAME']; という部分だけを取り出して、ページ内に直接記述し、includeする際に、 include"http://exampleeee.com/pankuzu.php?name=$name"; として動作させています。 しかし、個人サイトとはいえ、非常に規模の大きいサイトになる予定なので、後での管理などが大変になるかもしれません。できれば $_SERVER['SCRIPT_NAME']; の部分も外部ファイルに入れておきたいのですが、何か良い方法があればアドバイスをお願いします。 あと、最後にもうひとつ質問があります。 include"http://exampleeee.com/pankuzu.php?name=$name"; のように変数を渡す場合、配列を渡すことはできないのでしょうか? 以上が私の質問です。文章中に誤った表現や、誤解などがあればご指摘願います。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • .html ファイルでasp実行?

    現状、Win2000Server+IIS5.0 上で、以下のようなファイルが動いています。 これを Win2003Server + IIS6.0に移行しているところなのですが、うまく動きません。 まず、index.aspで、index.htmlにリダイレクトし、index.htmlは表示されます。しかし、index.htmlの最初の行にある<!--#include Virtual = "/gl.asp"-->がインクルードされず、ブラウザに表示されたソースを見るとそのまま表示されてしまいます。 そもそも、.htmlなる拡張でaspが実行されるのかが疑問なのです。 ただ、現行サーバでは動いているんですが。 ちなみに新サーバ上でのIISマネージャのWeb拡張にてSSIやCGI、ASPは有効にしてあります。 次に、SSIを.htmlにマッピングしてみました(現行サーバではそうなっていませんが)。 結果、<!--#include Virtual = "/gl.asp"-->はインクルードされましたが、 gl.aspは実行されずそのまま読み込まれただけです。 つまり、ここでもPerlが実行されないまま、単にインクルードされたに過ぎないのです。 Perlでのスクリプトも単独では動作しているのは確認しております。 新サーバ上で、どのような設定が必要なのかが判りません。どなたかお知恵をお貸しください。 よろしくお願いします。 ****************************** [ファイル名 index.asp] <% リダイレクトの為のスクリプト%> ******************************* [ファイル名 index.html] <!--#include Virtual = "/gl.asp"--><% %> <html ・・・ 以下省略(これ以降もHTMLタグとASPスクリプトの混在したものが続く) ************************* [ファイル名 gl.asp] <script language="PerlScript" runat="Server">Perlスクリプト</script> <% ・・・ 以下省略(これ以降もサーバー側ASPに関する記述が続く)に関する記述が続く)

  • redirectについて

    sea_clear_skyです。 質問させて頂きます。 環境 WIN98SE PWS SUBMIT以外の作成したボタンで、ページ移動を行いたいのですが。 正常に動作しません。 値をもっていきたいので、Redirectが希望です。 <ASPファイル> <html> <script language="vbscript" runat="server"> sub btt() Response.Redirect("移動先ASPファイル") end sub </script> <body> <input type ="button" name ="bt" value ="redirect" onclick ="btt()"> </input> </body> </html> ご教授願います。 よろしくお願いします。

専門家に質問してみよう