- - PR -
ASP.NET マスターページを更新しない方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-01-21 17:31
いつもお世話になっております。
ASP.NETのマスターページの機能を使用しwebページを作成しています。 ●構成としては マスターページ:A.master そのコンテンツ:MAIN.aspx B.aspx C.aspx ●A.masterにはTreeViewがあり、以下の構造になっています。 メニュー リンク先 一覧(URL:B.aspx) 詳細(URL:C.aspx) ●TreeViewは初期状態では メニュー +リンク先 という表示です。 質問 ツリーより一覧を選択するとツリーの状態が初期状態になってしまいます。 これをツリーから一覧を選択した表示状態を保ちたいのですが、可能で しょうか? |
|
投稿日時: 2008-01-21 17:55
初期状態になってしまう理由は、お分かりでしょうか?
Masterページは、あくまでページの雛形な為、フレームの様には動作いたしません。 提示されたページ構成であるならば 一覧を選択された時は、B.aspxのサーバーサイド上にて A.masterのTreeView-Nodeに対してExpand(展開)をするようにすれば 良いのではないでしょうか。 [参考までに] マスターページのPage_LoadよりコンテンツページのPage_Loadが先に処理されますので コンテンツページにてマスターページの動作(振る舞い)を指定する事は容易に行えます。 |
|
投稿日時: 2008-01-22 12:01
くまっちさん
ありがとうございます。 やっぱりそうですよね。あればと思ったのですが。 次のように回避するつもりです。 1.一覧を選択した時にツリーの状態を確認その情報をSessionでB.aspxへ送信 2.B.aspxを開く時に発生するA.masterのPage_Loadでその状態を回復 |
|
投稿日時: 2008-01-22 12:58
フレームとマスターページは似て非なる代物です。
> やっぱりそうですよね。あればと思ったのですが。 タイトルの言葉通りマスターページの部分を更新(再読み込み?)させたくない場合 フレーム(frame or iFrame)を使うしかありません。 ・A.Masterは、TreeViewを持つ通常のページに変更 ・MAIN,B,C.aspxはフレーム内に読み込む為、通常のページに変更 こうなるとA.Masterは、不要になってしまいます。 どちらが良いとは、一概に言えません。要件次第です。 ・マスターページのメリット・デメリット ・フレームのメリット・デメリット を、それぞれ考慮したうえ、ご自身の求めるものに最適な方法を選択してください。 [下記部分編集] 前:マスターページの部分を更新(Postback) 後:マスターページの部分を更新(再読み込み?) [ メッセージ編集済み 編集者: くまっち 編集日時 2008-01-22 13:10 ] |
1