いつもお世話になります
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
よろしくお願いします
たとえばForm1上にTextBox1があるなら、Moduleからは
Form1.TextBox1
で利用できます。こういうことですか?
回答ありがとうございます
いいえ、そうではなく
Form1から呼び出されたのならForm1.TextBox1
Form2から呼び出されたのならForm2.TextBox1
と識別をしたいと思っています
Testに必要なオブジェクトを渡してあげるようにすればよいのでは?
回答ありがとうございます
質問に書いた通り引数を使用しないで
呼び出された先のPageオブジェクトの情報を
知る方法がないかを探しています
Pageオブジェクトというのは,System.Web.UI.Pageのインスタンスのことですか?
System.Web.HttpContext.Current.CurrentHandlerをPageにキャストし,さらにPage.FindControlを呼び出せば,
一応コントロールのIDを元にコントロールを探すことができます。
また,リフレクションを使えば,フィールド名からオブジェクトを探すこともできます。
が,これらの方法を使わないといけなくなった時点で,引数にすることをお勧めしますが。
# できるけど変更時に後悔すること間違いなしな方法なので。
できました。ありがとうございました
ツイート | ![]() |