※ ChatGPTを利用し、要約された質問です(原文:マスターページの値の渡し方について。)
マスターページの値の渡し方について
2009/02/05 15:20
このQ&Aのポイント
マスターページの値の渡し方について質問です。Visual Web Developer 2008を使用していて、マスターページにツリービューがあり、それをクリックするとデータ表示ページに遷移し、展開されたノードの状態を維持したいです。しかし、クエリ文字列での情報の受け渡しではポストバックが起きず、ノードの状態が初期化されてしまいます。
解決案として、以下の方法を考えています。1:マスターページに隠しテキストボックスを配置し、その値をデータ表示ページで取得する。2:グローバル変数を使用する。3:Friend Sharedを使用する。
ただし、具体的な使用方法やグローバル変数の宣言場所については知識が不足しており、Friend Sharedの使用方法もよくわかっていません。最終的には隠しテキストボックスを使用する予定ですが、可能な限り変数として値を渡す方法を探しています。
すごく初歩的な質問かもしれませんが、教えてください。
Visual Web Developer 2008を使用しています。
言語はVBです。
マスターページ:masterpage.master
データ表示ページ:datalist.aspx(マスターページはmasterpage.master)
マスターページにツリービューがあり、それをクリックすると、データベース内を検索し、該当するものをリストとして表示するのがデータ表示ページになります。
その際の処理として、どのノードがクリックされたかの情報をクエリ文字列にてデータ表示ページに送っていましたが、そうするとポストバックが起きずに、展開されたノードは初期の状態に戻ってしまいます。
抽出したデータを表示させつつも、ツリービューは選択された状態を維持させたいのです。
そこで、いろいろ考えてみたのですが、
1:マスターページに隠しテキストボックスを置き、その中に格納された値を、データ表示ページからFindControlで取得する
2:グローバル変数を使う
ただ、グローバル変数が使えるのか、また使用方法等はまだ調べていません。
3:Friend Sharedを使う
これはグローバル変数とは違うものなんですかね・・・?
いろいろ調べてみたのですが、グローバル変数は宣言する場所がどこなのかわからないという、自分でも情けない状態です。
Friend Sharedの使用方法も微妙です・・・。
隠しテキストボックスを作るやり方は簡単にテストしたらできましたが、極力変数として値を渡す方法でやりたいと思っているので、最終手段にしようと思っています。
目的はノード展開状態の維持なのですが、マスターページからデータ表示ページに値を渡すという流れはそのままでいきたいと思っています。
ポストバック時はノードの展開状態が維持されるとどこかに書いてあったので、ポストバックさせつつ値を渡すのがいいのでは、と思っています。
ご存知の方がいましたら、ヒントでもなんでもいいので教えてください。
足りない情報等は補足いたします。
よろしくお願いします。
質問の原文を閉じる
質問の原文を表示する
お礼
丁寧な回答ありがとうございます。 まだまだ勉強中で、いただいた回答の半分も理解できない状況ですが、ゆっくり自分の中で噛み砕き、今後の役に立てようと思います。 まずはRequest.Formですね。 もう回答つかないんじゃ・・・?と思っていたので、回答くださってうれしかったです。 本当にありがとうございました!