
No.2ベストアンサー
- 回答日時:
サンプルです。
コピペして動作を確認して見てください。
後は、御自分の思うように改造してください。
準備するファイル
index.asp
a.asp
b.asp
c.asp
'index.asp ******************************
<HTML>
<HEAD></HEAD>
<BODY>
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="100%" HEIGHT="100%">
<TR VALIGN="top"><TD HEIGHT="1">
<TABLE ALIGN="left" BORDERCOLOR="#000000" BORDER="1" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD ALIGN="center" WIDTH="50" ONCLICK="location.href='index.asp?pg=1'" STYLE="cursor:hand">ページA</TD>
<TD ALIGN="center" WIDTH="50" ONCLICK="location.href='index.asp?pg=2'" STYLE="cursor:hand">ページB</TD>
<TD ALIGN="center" WIDTH="50" ONCLICK="location.href='index.asp?pg=3'" STYLE="cursor:hand">ページC</TD>
</TR>
</TABLE>
</TD></TR>
<TR><TD>
<TABLE BORDER="1" WIDTH="100%" HEIGHT="100%">
<TR VALIGN="middle"><TD ALIGN="center">
<%
Select Case Request.Querystring("pg")
Case "1"
Response.Write "<IFRAME WIDTH='100%' HEIGHT='100%' SRC='a.asp'></IFRAME>"
Case "2"
Response.Write "<IFRAME WIDTH='100%' HEIGHT='100%' SRC='b.asp'></IFRAME>"
Case "3"
Response.Write "<IFRAME WIDTH='100%' HEIGHT='100%' SRC='c.asp'></IFRAME>"
Case Else
Response.Write "ここに、選択されたタブのページを表示します。"
End Select
%>
</TD></TR>
</TABLE>
</TD></TR>
</TABLE>
</BODY>
</HTML>
'a.asp ******************************
ページA
'b.asp ******************************
ページB
'c.asp ******************************
ページC
No.1
- 回答日時:
察しのとおり、単純にやるならばそれぞれのページでそれぞれの描画をするだけです。
ただしこれだと芸がないですよね。
そこで、ASPとなるわけですが。
【構成】
default.asp、A.asp、B.asp、C.aspとあったとします。
トップページのdefault.aspからA.asp、b.asp、c.aspへ移動するような構成だとします。
【解説】
各ページの<head>内にD.incファイルをインクルードするための記述をします。
「<!-- #include file="D.inc" -->」って感じで。
このD.incファイルにはVBScriptの関数を記述します。
この関数は「どのタブを目立たせるか」という引数を受け取って、適切なタブを描画するためのHTMLコードを出力します。
この関数を「Function GenHeadTab( index )」とでもしましょうか。
各aspファイルでタブを表示させたい部分に
Default.aspなら「<% = GenHeadTab( 0 ) %>」
A.aspなら「<% = GenHeadTab( 1 ) %>」
B.aspなら「<% = GenHeadTab( 2 ) %>」
C.aspなら「<% = GenHeadTab( 3 ) %>」
というように、それぞれのページからこの関数を呼び出す際の引数を変えてあげます。
D.incファイルのGenHeadTab関数内では、引数で得た番号で条件判断をして、「目立つタブ」を適切に変更するHTMLのコードを出力してあげます。
ここで言うHTMLコードってのは、<html>~</html>のことではなくて、タブの部分のみのHTMLです。
tableを使うのが一般的かな。
判断には「Select Case」を使えば簡単ですよね。
【とどのつまり】
4つのASPページから呼び出される共通の独自関数を別ファイルにしてしまおう、ってことです。
インクルードファイルに共通関数や共通処理を書くっていうのは非常に有効なテクニックです。
データベースへ接続するための処理や接続を解除する処理なんてのは沢山のページから呼び出したいものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面のリフレッシュを意図的に...
-
ASP内で他のASPファイルを読み...
-
C# try-catch でcatchに飛ばす方法
-
ネットワーク上のPCのIPとホス...
-
ASP 0x80004005 クライアント...
-
エクセルVBA 宣言Dimの場所
-
Outlookで添付ファイルの有無を...
-
ソケット通信で同時受信の制限?
-
Panelを重ねる方法
-
EXECLマクロでshapeがグルーフ...
-
FileCopy時のエラー
-
SPI通信プロトコル
-
ASP.netで使用するWEBサーバに...
-
VB6でのPL/SQLの実行について
-
CreateProcessでアプリケーショ...
-
ページの更新内容が反映されない。
-
VBA RemoveDuplicatesで「アプ...
-
インクルードしたファイルの関...
-
fopenでエラーとなる
-
winsock通信時エラーの回避
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面のリフレッシュを意図的に...
-
ASP内で他のASPファイルを読み...
-
ASP.NET GRID VIEWの画像表示
-
C# のプログラミングについて
-
.html ファイルでasp実行?
-
ASPからファイルダウンロード
-
JavaScriptで取得した値をASPで...
-
aspx.csファイルでマウスオーバ...
-
ASPで?以外の文字ででQueryStri...
-
ASPでタブのように見せる方法
-
前のページのテキストの内容を...
-
拡張子.aspって作成するの?
-
aspの記述がコメント表示されて...
-
クレイトンって?
-
処理中にincludeされるファイル...
-
IIS5.0で拡張子「.asp」が表示...
-
ネットワーク上のPCのIPとホス...
-
C# try-catch でcatchに飛ばす方法
-
エクセルVBA 宣言Dimの場所
-
FileCopy時のエラー
おすすめ情報