
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で質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) エクセルファイルが他のデーターソースへのリンクが含まれている場合の調べ方を教えてください。 2 2023/08/24 13:03
- その他(インターネット接続・インフラ) 語学レッスン予約ページを作ろうとしています。 1 2022/09/26 17:43
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- IT・エンジニアリング 企業におけるデータ管理方法についてみなさまのお考えを教えてください。 1 2023/04/15 22:34
- JavaScript 指定時間になったら、WEBサイトの更新を自動で行うには…? 3 2022/04/28 22:14
- インターネットビジネス アフィリエイトの収益化記事について 2 2023/04/04 15:19
- Microsoft ASP ASP.NETや.NET、C#とかVBとか 2 2022/05/16 21:16
- デスクトップパソコン ファイルメーカーPro12が突然起動しなくなりました 1 2023/08/23 11:47
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面のリフレッシュを意図的に...
-
ASP内で他のASPファイルを読み...
-
ASPからファイルダウンロード
-
ASPで?以外の文字ででQueryStri...
-
エクセルVBA 宣言Dimの場所
-
ソケット通信で同時受信の制限?
-
VB6+SQLServer2005 DBの新規作成
-
CreateProcessでアプリケーショ...
-
ASPが動かないマシンがある
-
ASP 0x80004005 クライアント...
-
EXECLマクロでshapeがグルーフ...
-
オブジェクト生成エラー
-
TCPサーバ bind関数のエラーに...
-
IIS6 ASP Oracle接続
-
インクルードしたファイルの関...
-
式はメソッドではありませんと...
-
【C#】アップロード時に「アプ...
-
ACCESSのオートナンバーについて
-
VBSからPDFファイルを開きたい...
-
CreateObject("Excel.Applicati...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ASP内で他のASPファイルを読み...
-
画面のリフレッシュを意図的に...
-
aspx.csファイルでマウスオーバ...
-
ASPからファイルダウンロード
-
.html ファイルでasp実行?
-
aspの記述がコメント表示されて...
-
処理中にincludeされるファイル...
-
ASPで?以外の文字ででQueryStri...
-
ASP.NETのrepeaterかSqlDataRea...
-
C# のプログラミングについて
-
前のページのテキストの内容を...
-
ネットワーク上のPCのIPとホス...
-
C# try-catch でcatchに飛ばす方法
-
エクセルVBA 宣言Dimの場所
-
GridView表示の高速化
-
CreateObject("Excel.Applicati...
-
ソケット通信で同時受信の制限?
-
EXECLマクロでshapeがグルーフ...
-
FileCopy時のエラー
-
TCPサーバ bind関数のエラーに...
おすすめ情報