ModuleからPageオブジェクトを参照したい

解決


NoName  2008-11-21 15:06:22  No: 145425  IP: 192.*.*.*

いつもお世話になります

Moduleに作ったプロシージャー内でPageオブジェクトを参照したいのですが引数を使用しないで参照することをできるでしょうか?

    Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Test()
    End Sub

Module Module1
    Public Sub Test()
        'ここで呼び出し先のPageオブジェクトを参照したい

    End Sub
End Module

よろしくお願いします

編集 削除
shazbot  2008-11-21 18:43:08  No: 145426  IP: 192.*.*.*

たとえばForm1上にTextBox1があるなら、Moduleからは

Form1.TextBox1

で利用できます。こういうことですか?

編集 削除
NoName  2008-11-25 13:00:29  No: 145427  IP: 192.*.*.*

回答ありがとうございます

いいえ、そうではなく
Form1から呼び出されたのならForm1.TextBox1
Form2から呼び出されたのならForm2.TextBox1
と識別をしたいと思っています

編集 削除
YuO  2008-11-25 13:29:32  No: 145428  IP: 192.*.*.*

Testに必要なオブジェクトを渡してあげるようにすればよいのでは?

編集 削除
NoName  2008-11-25 17:05:47  No: 145429  IP: 192.*.*.*

回答ありがとうございます

質問に書いた通り引数を使用しないで
呼び出された先のPageオブジェクトの情報を
知る方法がないかを探しています

編集 削除
YuO  2008-11-25 19:26:33  No: 145430  IP: 192.*.*.*

Pageオブジェクトというのは,System.Web.UI.Pageのインスタンスのことですか?

System.Web.HttpContext.Current.CurrentHandlerをPageにキャストし,さらにPage.FindControlを呼び出せば,
一応コントロールのIDを元にコントロールを探すことができます。
また,リフレクションを使えば,フィールド名からオブジェクトを探すこともできます。

が,これらの方法を使わないといけなくなった時点で,引数にすることをお勧めしますが。
# できるけど変更時に後悔すること間違いなしな方法なので。

編集 削除
NoName  2008-11-26 08:45:25  No: 145431  IP: 192.*.*.*

できました。ありがとうございました

編集 削除