- - PR -
[ASP.NET]ディレクトリが異なるページ移動におけるセッション情報の受渡について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-06-14 10:09
ページ間移動におけるセッション情報の受渡について教えてください。
サンプルプログラムのディレクトリ構成 SessionSample −Login:login.aspx −Gyomu01:menu.aspx というディレクトリ構成となっています。 処理の流れとしては @login.aspxのボタンクリックイベントでセッション変数に入力内容を格納 その後、Response.Redirect("../Gyomu01/menu.aspx")を実行 Amenu.aspxのPage_Loadイベントでセッション変数より入力内容を取得 という流れを考えました。 これを実行すると、どうもmenu.aspxのPage_Loadイベントが実行されていないような感じがしました。理由は、セッション変数から値が取れなければその旨を画面に表示する処理を実装しているからです。 <menu.aspxのPage_Loadイベント> Private Sub Page_Load(・・・・) Handles MyBase.Load ' ページを初期化するユーザー コードをここに挿入します。 If Not Session("id") Is Nothing Then lblID.Text = Session("id").ToString Else lblID.Text = "ログインID取得失敗!!" End If If Not Session("password") Is Nothing Then lblPasssword.Text = Session("password").ToString Else lblPasssword.Text = "パスワード取得失敗!!" End If End Sub いろいろなサイトを見ながら試しているのですがうまく出来ません。 どうかご教授をお願い致します。 |
|
投稿日時: 2006-06-14 10:57
1点訂正があります。
>menu.aspxのPage_Loadイベントが実行されていないような感じがしました。 これは間違っていました。ちゃんと動いていました。 おそらくソリューションをビルドしていなかったのが原因だったかもしれないです。 |
|
投稿日時: 2006-06-14 11:20
ディレクトリが分かれていても、1つのWebアプリケーションの中であればセッション情報の受け渡しは問題ないはずです。
ディレクトリ毎にそれぞれWebアプリケーションとして作成していませんか? この場合はセッション情報の共有はできません。 |
|
投稿日時: 2006-06-14 13:15
どっとねっとふぁん様
>ディレクトリが分かれていても、1つのWebアプリケーションの中 >であればセッション情報の受け渡しは問題ないはずです。 >ディレクトリ毎にそれぞれWebアプリケーションとして作成していませんか? >この場合はセッション情報の共有はできません。 確かにプロジェクトは分けています。 ということはWEBアプリケーションが分かれているということでしょうか? となると、運用環境で1つのWEBアプリケーションとして配置するにはどのようにしたらよろしいのでしょうか? いろいろな書籍やサイトを見ても運用環境構築までが解説されたものが見つからなくて・・・ ホントに素人で申し訳ありません。。。 |
|
投稿日時: 2006-06-14 14:04
試しに1つのソリューション内に2つのプロジェクトを実装してみたのですが、
セッションは引き継げませんでした・・・ |
|
投稿日時: 2006-06-14 14:31
> 試しに1つのソリューション内に2つのプロジェクトを実装してみたのですが、
> セッションは引き継げませんでした・・・ プロジェクトが2つである限り無理ですね。 http://support.microsoft.com/default.aspx?scid=kb;ja;JP307467 こちらが参考になるかな? |
|
投稿日時: 2006-06-14 15:16
どっとねっとふぁん様
記載していただいたサイトの手順通りにサンプルを実装しましたら、 うまくできました。 ホントにありがとうございました。 |
|
投稿日時: 2006-06-14 21:29
フォーム認証をするなら、こちらの解説をまねるのが良いでしょう。
そうすると、ユーザ識別子は Page.Context.User(.Identity.Name) プロパティに入ります。 わざわざセッションに保存する必要はありません。 特に、パスワードを保管するのは、セキュリティ上、やめる方が得策です。 |
1