2015-04-28 77 views
0

我想要使用的控件已在我的頁面中註冊。如何使用vb在asp.net中的按鈕單擊創建用戶控件

<%@ Register Src="~/MEDCONTROLS/statform.ascx" TagPrefix="uc1" TagName="statform" %> 

我正在使用此代碼將其顯示在我的頁面中。 (使用不同的ID & &不同TempHosp#)

<uc1:statform runat="server" TempHospNum="ER101" ID="statform1" /> 
<uc1:statform runat="server" TempHospNum="ER102" ID="statform2" /> 
<uc1:statform runat="server" TempHospNum="ER103" ID="statform3" /> 

現在我需要做的是,在點擊按鈕時,它會創建一個新的用戶控件,實際上是同一個用戶的控制,但只不同的ID和不同的屬性例如。

編輯

Protected Sub btnAddUserControl_Click(sender As Object, e As EventArgs) Handles btnAddUserControl.Click 

    'Generate user control with a TempHospnum = "ER104" and id="statform4" 
    End Sub 

現在是增加,但僅page.init,而不是Button_click

'NOT WORKING 
Protected Sub btnNewBed_Click(sender As Object, e As EventArgs) Handles btnNewBed.Click 
    Dim myControl As statform = Page.LoadControl("~/MEDCONTROLS/statform.ascx") 
    myControl.ID = "statform13" 
    myControl.TempHospNum = "ER113" 
    myControl.ERBedNumber = "Bed13" 
    form1.Controls.Add(myControl) 
    myControl.Visible = True 

End Sub 

'This is working but this is not what I needed 
Protected Sub Page_Init(sender As Object, e As EventArgs) Handles Me.Init 
    Dim myControl As statform = Page.LoadControl("~/MEDCONTROLS/statform.ascx") 
    myControl.ID = "statform13" 
    myControl.TempHospNum = "ER113" 
    myControl.ERBedNumber = "Bed13" 
    form1.Controls.Add(myControl) 
    myControl.Visible = True 
End Sub 
+0

也有一些是與你的要求的重要信息,看看[這裏](http://stackoverflow.com/questions/13239402/dynamically-add-user-control-in-page-on-button -click-whic-is-in-user-contro) – BNN

回答

0

使用它引用的用戶控件的類名稱的變量,並使用頁面。 LoadControl。

您可以與添加到用戶控件類定義的任何屬性進行交互。

dim myControl as YourUserControlClassName = Page.LoadControl("~/yourlayoutfilepath/yourUserControlFile.ascx") 
myControl.ID="stratFormX" 
Me.Controls.Add(myControl) 
+0

如何在我的頁面上顯示生成的用戶控件@trucker_jim? – Dale

+0

Me.Controls.Add(myControl) –

+0

我已經在我的按鈕單擊事件中添加了該按鈕,但沒有顯示新的用戶控件... – Dale

相關問題