2011-10-26 28 views
-2

".vb"ページで ".ascx"を使用できますか?コードの後ろのユーザーコントロール

ご存じのように、「.aspx」などの.ascxを使用できます。しかし、 ".vb"からどのように使用できるのだろうか?

+0

これで何をしたいですか? –

+0

and finished
約100行で開始される長い構造があります。 id = 101の場合はidを制御し、「そのコード」はここに来るでしょう。 – ToUpper

答えて

2

はい - あなたはVBのページへASCXユーザコントロールを追加することができるはず -

Dim myControl As Control = CType(Page.LoadControl("UC1.ascx"), Control) 
Panel1.Controls.Add(myControl) 
+0

パネルなし、使用できませんか? – ToUpper

+0

@ToUpper:UserControlの目的はaspxページにある(または他のControls/UserControlsにネストされている)ので、ページにあるコントロールまたはページに追加する必要があります。しかし、あなたは強制的にそうすることはできません。ページのコントロールコレクションに追加することなく、メモリにロードして関数を呼び出すことができます。必要なのは、jpr101の答えの最初の行です。 –

0

あなたは、このように動的にUserControlをロードすることができます。

Protected Sub Page_Load(sender As Object, evtArgs As EventArgs) 
    Dim loadedControl = LoadControl("~/path/to/your/ascx/file") 
    loadedControl.ID = "myLoadedControl" 
    anyPanel.Controls.Add(loadedControl) 
End Sub 
0

た.ascx(Webコントロール)です通常、その中に他のWebコントロール(asp:TextBoxなど)があります。これらは、.ascx.vbファイル(Visual Studioで自動的に作成された部分クラス)からアクセスできます。 .ascx Webコントロールを配置した.aspxファイルにこれらのコントロールおよび/またはプロパティを公開するには、それらのコントロールをパブリックプロパティで作成する必要があります。

例えば

:あなたた.ascxはASPがある場合:「txtUserId」と呼ばれるテキストボックスを、あなたが取得できるようにしたい/ .aspxページから、このテキストボックスのTextプロパティを設定するには、次を追加することができます。

Public Property UserIdText As String 
    Get 
     Return Me.txtUserID.Text 
    End Get 
    Set (value As String) 
     Me.txtUserId.Text = value 
    End Set 
End Property