2013-03-04 3 views
2

У меня есть ASCX-файл, который можно загрузить в каких-либо проблем с использованиемEquivilent LoadControl

<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?

ответ

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"%> 
+0

Спасибо за ответ, но что user_control_myControlName? –

+0

ОК, я получил его на страницу с помощью объявленной переменной. используя newUserControl.BusinessID = (число), что такое правильный синтаксис? –

+0

user_control_myControlName - это имя объекта пользовательского элемента управления. Вы должны увидеть что-то вроде этого формата в Intellisence, но с именем вашего пользовательского элемента управления. В этом примере используется пользовательский элемент управления, называемый «myControlName». FYI, иногда, после добавления новой ссылки, intellisence не будет работать должным образом, пока вы не очистите и не восстановите свой проект. – jason

Смежные вопросы