- - PR -
フレーム分けした子画面にセッション変数を渡す方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-01-31 22:12
セッションIDが同じなら、甕星さんもかかれてますが、
まず確認すべきは設定と取得のタイミングです。 ※すでに確認されているようにも見えなくもないのですが、 実際にどうなっているのかがどうもよく分かりません。 本当に、設定→取得のタイミングが正しく起こっていますか? もしまだやっていなければ、ブレークポイントなどで一度確認してみてはどうでしょう? 既に確認済みで確かに正しく動いているということならこの話はなかったことに… | ||||||||
|
投稿日時: 2006-01-31 22:18
これって気になりますね... サーバ名にアンダーバーとか入ってないですよね あと、IPアドレスで接続したらどうなりますか? | ||||||||
|
投稿日時: 2006-01-31 22:23
SessionIDが同じってことからセッションが分かれてしまっていることは ないのかなと思ったんですが、どうも試してる環境があやふやな気もするので、 この線もあるかもしれませんね… | ||||||||
|
投稿日時: 2006-02-01 11:46
たつごろー様
>SessionIDがどこまでつながっているかを追跡してみてはいかがでしょう 調査したところ、window.openとフレームでは同じセッションIDを使用していました。 またwindow.open前では、セッション変数に値が入っているのですが、 window.open後では、セッション変数の値が消えていました。 セッションIDが同じでセッション変数だけがきれいになくなっていました。。。 またwindow.openのファイルの後に"?"をつけてのパラメータ渡しを行い、 フレームの最初のPage_Load時にそのパラメータをセッション変数に 格納しても、セッション変数の値が消えてしまいます。 かるあ様 サーバ名には、アンダーバーではなくハイフンを使用しています。 またIPアドレスで上記の調査を行っても結果は同じでした。。。 IISでP3PというHTTPヘッダーの設定を行っているのですが、 それが何か関係しているのでしょうか・・・? | ||||||||
|
投稿日時: 2006-02-01 12:08
変数がなくなったことを確認した手段はどういうものでしょうか。 きれいに無くなったのか、取得に失敗なのか、表示に失敗なのかで切り分けたいところです。
セッション変数に格納した直後に消えてるということですか? _________________ たつごろー codeseek こみゅぷらす | ||||||||
|
投稿日時: 2006-02-01 12:38
たつごろー様
お世話になります。 確認した手段は、response.writeで画面自体にセッション変数を表示しました。 先ほど、何回か動かしたところ、セッション変数の値が取得できる場合と 出来ない場合があります。取得できる場合と出来ない場合は、まちまちです。 >セッション変数に格納した直後に消えてるということですか? 格納直後は、消えていません。 2番目のPage_Load時には、セッション変数の値が消えてしまいます。 | ||||||||
|
投稿日時: 2006-02-01 13:39
まず、どこまで正しく値を保持しているかを追及して、原因を見つけ出しませんか?
Response.Write()では取得したことを確認するには不十分かと思います。 ステップ実行をして値を確認するか、Debug.WriteLine()で出力してください。 複雑な画面では、ステップ実行をすると再現できない挙動がありますので、 その他のデバッグ機能に頼ることになる可能性も高くなります。 .NET Framework クラス ライブラリ Debug.WriteLine メソッド http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemDiagnosticsDebugClassWriteLineTopic.asp?frame=true ASP.NETトレースという手もあります。 .NET Framework 開発者ガイド ASP.NET トレース http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconTraceFunctionality.asp http://www.codeseek.net/dotNet/dotNetTrace.htm
2番目のPage_Load時というのはどういうときでしょうか。 「消えている」と判断した理由は? 「消えている」のではなく、「入れていない」か「表示できていない」という 可能性も考える必要があるのではないかと思います。 _________________ たつごろー codeseek こみゅぷらす | ||||||||
|
投稿日時: 2006-02-01 13:46
現在の状況は以下の認識であっていますか?
1.起動ページ → 2.フレームページ → 3.フレームの要素1 → 3.フレームの要素2 とあったとして、 1のセッションは1のPostBackでは取得できるが、 2,3では取得できない 2のセッションは2のPostBackでも取得できない もちろん、3でも取得できない [ メッセージ編集済み 編集者: かるあ 編集日時 2006-02-01 13:47 ] |