3

問題なくロードできる .ascx ファイルがあります。

<uc1:EL ID="EL1" BusinessID="8" runat="server" />

BusinessID はパブリック プロパティです。

Public Property BusinessID As Integer
    Set(ByVal value As Integer)
        _BusinessID = value
    End Set
    Get
        Return _BusinessID
    End Get
End Property

この ascx ファイルを、異なる BusinessID 変数値を持つプレースホルダーに数回ロードする必要がある場合があります。

そうするのと同等の LoadControl の方法は何ですか?

4

1 に答える 1

2

最初に、ユーザー コントロールのインスタンスを作成し、次にプレース ホルダーのハンドルを取得する必要があります。次に、一方を他方に追加できます。例:

 'get place holder
 Dim getPh As New PlaceHolder
 getPh = CType(Me.FindControl("myPlaceHolder"), PlaceHolder)

 'get user controls    
 Dim newUserControl As New user_controls_myControlName
 newUserControl = CType(LoadControl("~/user_controls/myControlName.ascx"), user_controls_myControlName)    

 getPh.Controls.Add(newPortlet)

ユーザー コントロールのインスタンスを作成すると、BusinessID を含むすべてのプロパティにアクセスでき、必要に応じて割り当てることができます。

次のように、ascx ファイルのクライアント側コードに参照を追加する必要があります。

<%@ Reference Control="~/user_controls/myControlName.ascx"%>
于 2013-03-04T18:37:35.490 に答える