TemplateControl.LoadControl Метод

Определение

Загружает класс Control.

Перегрузки

LoadControl(String)

Загружает объект Control из файла по выделенному виртуальному пути.

LoadControl(Type, Object[])

Загружает объект Control на основе данных выделенного пути и параметров конструктора.

Комментарии

При загрузке элемента управления в контейнерный элемент управления контейнер вызывает все события добавленного элемента управления до тех пор, пока он не будет перехвачен текущим событием. Однако добавленный элемент управления не догоняет обработку данных обратной передачи. Чтобы добавленный элемент управления участвовал в обратной обработке данных, включая проверку, элемент управления должен быть добавлен в Init событие , а не в Load событие .

LoadControl(String)

Загружает объект Control из файла по выделенному виртуальному пути.

public:
 System::Web::UI::Control ^ LoadControl(System::String ^ virtualPath);
public System.Web.UI.Control LoadControl (string virtualPath);
member this.LoadControl : string -> System.Web.UI.Control
Public Function LoadControl (virtualPath As String) As Control

Параметры

virtualPath
String

Виртуальный путь к управляющему файлу.

Возвращаемое значение

Возвращает указанный объект Control.

Исключения

Виртуальный путь null или пустой.

Примеры

В следующем примере кода показано, как использовать LoadControl метод для добавления пользовательского элемента управления на страницу ASP.NET.

В методе OnInit event эта страница использует LoadControl метод для программного создания пользовательского элемента управления на странице. Метод добавляет элемент управления в Controls свойство серверного PlaceHolder веб-элемента управления с именем Placeholder1.

Определение класса, используемого MyControl в этом примере кода, см. в разделе TemplateControl.

void Page_Init(object sender, System.EventArgs e)
{
    // Instantiate the UserControl object
    MyControl myControl1 =
        (MyControl)LoadControl("TempControl_Samples1.ascx.cs");
    PlaceHolder1.Controls.Add(myControl1);
}
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
    ' Obtain a UserControl object MyControl from the
    ' user control file TempControl_Samples1.ascx.vb
    Dim myControl1 As MyControl = CType(LoadControl("TempControl_Samples1.vb.ascx"), MyControl)
    Controls.Add(myControl1)
End Sub

Комментарии

Если элемент управления поддерживает кэширование, объект, возвращаемый методом LoadControlControl , на самом деле не является объектом , а является PartialCachingControl объектом . virtualPath Если параметр является относительным, путь загруженного элемента управления относительно пути TemplateControlк .

При загрузке элемента управления в контейнерный элемент управления контейнер вызывает все события добавленного элемента управления до тех пор, пока он не будет перехвачен текущим событием. Однако добавленный элемент управления не догоняет обработку данных обратной передачи. Чтобы добавленный элемент управления участвовал в обратной обработке данных, включая проверку, элемент управления должен быть добавлен в Init событие , а не в Load событие .

См. также раздел

Применяется к

LoadControl(Type, Object[])

Загружает объект Control на основе данных выделенного пути и параметров конструктора.

public:
 System::Web::UI::Control ^ LoadControl(Type ^ t, cli::array <System::Object ^> ^ parameters);
public System.Web.UI.Control LoadControl (Type t, object[] parameters);
member this.LoadControl : Type * obj[] -> System.Web.UI.Control
Public Function LoadControl (t As Type, parameters As Object()) As Control

Параметры

t
Type

Тип элемента управления.

parameters
Object[]

Массив аргументов, совпадающих по количеству, порядку и типу с параметрами вызываемого конструктора. Если параметр parameters предоставляет пустой массив или имеет значение null, то вызывается конструктор, который не принимает никаких параметров (конструктор без параметров).

Возвращаемое значение

Возвращает указанный объект UserControl.

Комментарии

Если пользовательский элемент управления поддерживает кэширование, объект, возвращаемый методом LoadControlUserControl , на самом деле не является объектом , а объектом PartialCachingControl .

При загрузке элемента управления в контейнерный элемент управления контейнер вызывает все события добавленного элемента управления до тех пор, пока он не будет перехвачен текущим событием. Однако добавленный элемент управления не догоняет обработку данных обратной передачи. Чтобы добавленный элемент управления участвовал в обратной обработке данных, включая проверку, элемент управления должен быть добавлен в Init событие , а не в Load событие .

См. также раздел

Применяется к