dポイントプレゼントキャンペーン実施中!

ご観覧ありがとうございます。
当方ですが、ASP.NET初心者になります。
乱文や意味不明な箇所などありましたらお詫び申し上げます。

言語:ASP.NET VB (VWD 2008)
環境:Windows XP

質問ですが、VB6でファンクションにMEで自分自身のフォームをユーザー関数などに渡す場合、
以下の「例:VB6」の様にクラスやモジュールに渡せたかと思います。
ASP.NETの場合ですと、フォームでなくPageになるかと思い、System.Web.UI.Pageにして同様に記述(「今回作成」参照)したところ、「'System.Web.UI.Page'のメンバではありません。」となり、エラーになってしましました。
同様にObject型も試しましたが、エラーになってしまいました。

このようなことは出来ない Or やらない方が良いのでしょうか?
色々調べましたが、良い方法が見つかりませんでした。

実現可能な方法、代替案、お勧めなどありましたら教えて頂ければ幸いです。
よろしくお願い致します。

追伸
今回のMEをユーザ関数に渡すのは、各ページのイベントに長いコードの記述をさけるのを目的にしています。

例:VB6
↓↓↓↓↓フォームの処理↓↓↓↓↓↓
Private Sub Button1_Click()
TestKansu(Me)
End Sub

↓↓↓↓↓モジュール↓↓↓↓↓↓
Private Sub TestKansu(ByRef MyForm as Form)

With MyForm
.label1.Caption = "AAAA"
.label2.Caption = "BBBB"
End With
End Sub


今回作成
↓↓↓↓↓Pageの処理↓↓↓↓↓↓
Private Sub Button1_Click()

Dim TestClass as new clsTest

TestClass.TestKansu(Me)

End Sub

↓↓↓↓↓CLASS (clsTest)↓↓↓↓↓↓
Public Sub TestKansu(ByRef MyPage As System.Web.UI.Page)

With MyPage
.label1.Caption = "AAAA"
.label2.Caption = "BBBB"
End With
End Sub

A 回答 (2件)

コードが間違っていました。

訂正します

Private Sub Button1_Click()
Dim TestClass as new clsTest
TestClass.TestKansu(Me)

End Sub

Public Sub TestKansu(ByVal MyPage As Object)

Dim o As System.Web.UI.Page
o = CType(MyPage, System.Web.UI.Page)

Dim la1 As Label = o.FindControl("Label1")
la1.Text = "AAA"

Dim la2 As Label = o.FindControl("Label2")
la2.Text = "BBB"

End Sub
    • good
    • 1

Private Sub Button1_Click()


Dim TestClass as new clsTest
TestClass.TestKansu(Me)

End Sub

Public Sub TestKansu(ByVef MyPage As Object)

Dim o As System.Web.UI.Page
o = CType(mm, System.Web.UI.Page)

Dim la1 As Label = o.FindControl("Label1")
la1.Text = "AAA"

Dim la2 As Label = o.FindControl("Label2")
la2.Text = "BBB"

End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!