C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

[ASP.NET2.0] マスターページネストに関して(2)


(過去ログ 37 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■19406 / inTopicNo.1)  [ASP.NET2.0] マスターページネストに関して(2)
  
□投稿者/ ま (41回)-(2008/05/22(Thu) 19:42:42)

分類:[ASP.NET (VB)] 

マスターページ

ASP.NET 2.0 [VB]

+----------------------------------------+
|     Master1 の静的コンテンツ           |
+-------+--------------------------------+
|※1   |※2                            |
|Master2|Content1 or Content2            |
|の静的 |                                |
|コンテ |                                |
|ンツ   |                                |
|       |                                |
+-------+--------------------------------+
※1 Master1 のプレースホルダー
※2 Master2 のプレースホルダー


Master1:   3分割の上部分
  <asp:Label id="LabelMessage" />
  <asp:LinkButton id="LinkButton1" />
Master2:   3分割の左部分
  TreeViewかListView

Content1:  初期表示用
  ポストバックが走るイベントは一切無し

Content2:   Master1 の LinkButton 押下の時の画面遷移用
  DetailView とか GridView とか一杯


初期表示
Master1 -> Master2 -> Content1

で、Master1#LinkButton1 をクリックしたときのイベント内で

   context.items.item("MSG") = "メッセージです"
   server.transfer("Content2.aspx")

としています。

で、Content2 の Master1 の PageLoad イベント内で

   dim o as object = context.items.item("MSG")
   if o isnot nothing then
      LabelMessage.Text = CType(o, string)
   end if

としていますが、当の "MSG" が取れません。

試してないので適当かもしれませんが、Content1 内のイベントで

   context.items.item("MSG") = "コンテンツ1のメッセージ"
   server.transfer("Content2.aspx")

ってやったときは、Master1 で取れる予感がしていますが、Content2
に画面遷移したあとはずーっと Content2 -> Content3 ->4,,,x と互い
に呼び合う形になりますのでここでの変数の取り方は今のところ問題
ではありません。

java/struts の場合だと、HttpServlet 派生クラスの static メンバにセットしてあげれば
別画面でも取れたと思うのですが、 .NET の場合、ページアクセス毎に毎回 IIS によって
そのページがアタッチされる気がするので、Master1.master の shared メンバに設定して
も意味無いと考えています。仮に出来たとしても、複数アクセスが起きたら 更新可能な 
static メンバでは値の保証が出来ないのでもとよりこのようなことをするつもりはありません。

session("MSG") で出来ることはわかっています。

一発目だけなんで sessionでもいいか、という気がするのですが、なるべくsession は使いたく
ないと考えています。
他にもっと簡単な手法で実現できますよ、ってのがあれば教えてください。

宜しくお願いします。

以上


 

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -