
いつもお世話になっております。
現在A.aspからB.aspにデータを渡したいと考えています。
Sessionを用いてA.asp上のリンクからClickする箇所によって引数をかえて、Bに渡したいのですが、Aの最下層に書かれたSessionのみが渡る状態です。
(下記の例で言うと、どれをクリックしても333が表示されます。)
簡単で申し訳ありませんが、下記にソースを書きます。
何かお気づきの点があれば、ご教授ください。
宜しくお願い致します。
※A.aspの内容
<% session("key") = "111"
Response.Write "<a href=""B.asp"">
データ1</a>" %>
<% session("key") = "222"
Response.Write "<a href=""B.asp"">
データ2</a>" %>
<% session("key") = "333"
Response.Write "<a href=""B.asp"">
データ3</a>" %>
※B.aspの内容
<html>
<head>
</head>
<%Response.Write session("key")%>
</HTML>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
あえて Session で無ければいけない理由がないのであれば
※A.aspの内容
<%Response.Write "<a href=""B.asp?key=111"">データ1</a>"%>
<%Response.Write "<a href=""B.asp?key=222"">データ2</a>"%>
<%Response.Write "<a href=""B.asp?key=333"">データ3</a>"%>
※B.aspの内容
<%Response.Write Request.QueryString("key")%>
で良いのでは?
osamuyさんの仰るとおり、ASPはサーバ側で処理されるので、
<% session("key") = "111" Response.Write "<a href=""B.asp""> データ1</a>" %>
<% session("key") = "222" Response.Write "<a href=""B.asp""> データ2</a>" %>
<% session("key") = "333" Response.Write "<a href=""B.asp""> データ3</a>" %>
と書いても、先に<% %>内のASPがサーバ側で処理されるので
サーバ側の処理---------------------------------------------------
session("key") = "111" ←"111"が格納される
session("key") = "222" ←"111"は上書きされて"222"が格納される
session("key") = "333" ←"222"は上書きされて"333"が格納される
-----------------------------------------------------------------
↓
処理結果---------------------------------------------------------
session("key")には"333"が格納されている
<a href="B.asp"> データ1</a>
<a href="B.asp"> データ2</a>
<a href="B.asp"> データ3</a>
-----------------------------------------------------------------
↓
クライアント(ブラウザ)側---------------------------------------
処理結果を受信
-----------------------------------------------------------------
となります。
蛇足ですが、
<%Response.Write "<a href=""B.asp?key=111"">データ3</a>"%>
はサーバ側でHTMLを書く意外に何も処理してないので、
<a href="B.asp?key=111">データ3</a>
とそのままHTMLで書いても同じです。
渡す値がASPの変数(例えば、変数 i )であれば、
<% Response.Write "<a href=""B.asp?key=" & i & """>データ3</a>" %>
と書いてもいいですが、
<a href="B.asp?key=<% Response.Write i %>">データ3</a>
と書くこともできますし、もっと簡単に
<a href="B.asp?key=<%=i%>データ3</a>
と書くこともできます。
<% Response.Write "~" %> は <%="~"%> に省略できるので
HTMLに挟み込む場合はむしろ省略形の方が一般的です。
#余分な情報でしたか?(^^;)
No.1
- 回答日時:
ASPはサーバ上で実行されますので、A.aspの評価が完了した時点で、Session("key")の値は、333になります。
データ1及びデータ2で行ってる代入は無駄ですね。また、B.aspで評価できるRequestには、どのリンクを押したのか判断つく情報が記述されてません。
A.aspで<a href="B.asp?req=1">data 1</a>のように記述するのがてっとりばやいかと。
ここらへんオブジェクトRequestやServeVariablesの内容を一覧して、どういうリクエストが送られてきるのか調べてみると、理解が速まると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
キヤノン アソビカメラ iNSPiC ...
-
vba マージエリアの行数を非表...
-
ffftpでファイル取得が0バイト...
-
VBAでPDFを作成する際、同じ名...
-
バッチ(bat)でリストファイルか...
-
Windowsで複数のファイルを同じ...
-
SJISで、全角文字Aの文字コード...
-
vba 空のデータをSplitする時の...
-
お世話になります。 Windows Up...
-
マクロで同じフォルダにある画...
-
エクセル・アプリケーションエ...
-
エクセルのファイル名をコピー...
-
ASP.NetでWebアプリ開発の経験...
-
エクセルに張り付けた写真のフ...
-
たくさんのフォルダーの中から...
-
SPO2測定
-
高校1年生情報の問題について。
-
エクセルのマクロについて教え...
-
インドe-Visa 承認書のApplicat...
-
SPIの非言語の割合と比が難しく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Response.Redirectで引数2つの...
-
隠しフィールドをVBScriptでの...
-
ページの更新内容が反映されない。
-
GridView表示の高速化
-
ASPへのデータの受け渡しについて
-
AutoPostBackにしているが、う...
-
データの受け渡し
-
GridViewからテンプレートフィ...
-
パラメータの値を受け取ってSQL...
-
ページを一度更新しないとSessi...
-
SqlDataSource SelectCommand ...
-
データ受け渡し時のSessionの使...
-
Panelを重ねる方法
-
Tableを動的に増やしたい。
-
クリッカブルマップを利用したA...
-
<ASP.NET>DataGridでOnSelected...
-
[ASP]ASPで「PCと携帯」及...
-
テキストボックスのデータの取...
-
時々処理が呼ばれない
-
ASPでテキストファイルにデータ...
おすすめ情報