Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 来自代码隐藏的用户控制_C#_Asp.net_Vb.net - Fatal编程技术网

C# 来自代码隐藏的用户控制

C# 来自代码隐藏的用户控制,c#,asp.net,vb.net,C#,Asp.net,Vb.net,我们可以在.vb页面中使用“.ascx”吗 如你所知,我们可以使用.ascx,比如“.aspx”。但是我想知道如何从“.vb”使用它?是的-您应该能够将ascx用户控件添加到vb页面- Dim myControl As Control = CType(Page.LoadControl("UC1.ascx"), Control) Panel1.Controls.Add(myControl) 您可以像这样动态加载UserControl: Protected Sub Page_Load(send

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


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

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

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

您可以像这样动态加载
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
.ascx(web控件)通常包含其他web控件(如asp:TextBox等)。您可以从.ascx.vb文件(一个由Visual Studio自动创建的分部类)访问这些文件。如果要将这些控件和/或其属性公开到放置.ascx web控件的.aspx文件中,则需要为它们创建公共属性

例如:如果.ascx有一个名为“txtUserId”的asp:TextBox,并且您希望能够从.aspx页面获取/设置此TextBox的文本属性,则可以添加以下内容:

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

你想用它做什么?有一个很长的结构,开始和结束大约100行。如果id=101,我将控制id,那么“该代码”将出现在这里。如果没有面板,我们不能使用吗?@ToUpper:UserControl的目的是在aspx页面上(或嵌套在其他控件/UserControls中),因此是的,您应该将其添加到页面或页面上的控件中。但您不必这样做,您可以将其加载到内存中并调用其函数,而无需将其添加到页面的控件集合中。您需要的是jpr101答案的第一行。