来自代码的用户控制

时间:2011-10-26 08:35:32

标签: c# asp.net vb.net

我们可以在“.vb”页面中使用“.ascx”吗?

如您所知,我们可以使用.ascx,例如“.aspx”。但我想知道如何从“.vb”中使用它?

3 个答案:

答案 0 :(得分:2)

是的 - 您应该能够将ascx用户控件添加到VB页面 -

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

答案 1 :(得分: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

答案 2 :(得分:0)

.ascx(Web控件)通常会在其中包含其他Web控件(例如asp:TextBox等)。您可以从.ascx.vb文件(由Visual Studio自动创建的部分类)访问这些文件。如果要将这些控件和/或其属性公开给.aspx文件,您已将.ascx Web控件放入其中,则需要为它们创建公共属性。

例如:如果您的.ascx有一个名为“txtUserId”的asp:TextBox,并且您希望能够从.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