- PR -

【ASP.NET】前ページのオブジェクト参照について

1
投稿者投稿内容
アキミ
常連さん
会議室デビュー日: 2003/05/30
投稿数: 21
投稿日時: 2003-05-30 19:55
はじめまして。アキミと申します。
オブジェクトの参照につきまして、わからないことがあり
書き込みをさせていただきます。

以前、本かWebページかで「一つ前のページのオブジェクト」を見た覚えがあります。
AページからBページに遷移したときに、Bページである宣言(?)を
すると、Aページのオブジェクトが破棄されずに参照できる…といった方法です。

どのような方法だったかすっかり忘れてしまって、Webやら本やらをあさっているので
すが、一向に手がかりがつかめません。
もしかしたら何かの勘違いだったのかなぁ…などと不安になってきました。
ASPのようにセッション変数やアプリケーション変数で明示的に引き渡さないとだめ
なのでしょうか?

具体的ではなく、わかりにくくて申し訳ないのですが、何かヒントになるようなことが
あれば、教えていただければ幸いです。

よろしくお願いいたします。



[ メッセージ編集済み 編集者: アキミ 編集日時 2003-05-30 19:55 ]

[ メッセージ編集済み 編集者: アキミ 編集日時 2003-05-30 19:56 ]
FOX
ベテラン
会議室デビュー日: 2002/04/08
投稿数: 63
お住まい・勤務地: いなか
投稿日時: 2003-05-30 20:43
確か"Server.Transfer"で遷移した場合に
遷移後のページオブジェクトのContext.Handlerから
前ページのページオブジェクトが取得できたと思います。

そのことでしょうか?

次のコードが簡単な実装イメージです


コード:

public class WebForm1 : System.Web.UI.Page {
:
(中略)
:
// 触りたい項目を公開
public string test {
get { this.TextBox1.Text; }
}

privatevoid ****_Onclick {
Server.Transfer("WebForm2.aspx");
}
:
(中略)
:
}




コード:

public class WebForm2 : System.Web.UI.Page {
:
(中略)
:
private void Page_Load(object sender, System.EventArgs e) {
// こんな感じで使う
WebForm1 per = (WebForm1)Context.Handler;
Label1.Text = per.test;
}
:
(中略)
:
}



結構前にやったのでうろ覚えです。


[ メッセージ編集済み 編集者: FOX 編集日時 2003-05-30 21:00 ]
アキミ
常連さん
会議室デビュー日: 2003/05/30
投稿数: 21
投稿日時: 2003-05-30 21:34
FOXさん、ありがとうございます。
プロパティの受け渡しで、オブジェクトの取得ができるのですね。

自分の記憶では、ほとんどのオブジェクトのデータが参照できたと
勘違いしていたので、これをみてやっと納得ができました。
そもそも、ほとんどが参照できるというのはオブジェクト指向から
みても明らかに間違っている考えです…。

たくさんのオブジェクトを参照したいので、まとめてPOSTかGETで
送ったほうが効率がいいような気もしてきました。

新しいウィンドウで(WindowOpen等で)Excelの帳票を開きたい
のですが、新しいウィンドウで処理をするとデータの引渡しが大変で…。
ということで、前述のオブジェクトの参照を調べていました。

もう少し、悩んでみます。
ありがとうございました!



1

スキルアップ/キャリアアップ(JOB@IT)