TemplateControl.LoadControl Метод

Определение

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

Перегрузки

LoadControl(String)

Загружает объект Control из файла по выделенному виртуальному пути.Loads a Control object from a file based on a specified virtual path.

LoadControl(Type, Object[])

Загружает объект Control на основе данных выделенного пути и параметров конструктора.Loads a Control object based on a specified type and constructor parameters.

Комментарии

Когда элемент управления загружается в контейнерный элемент управления, контейнер создает все события добавленного элемента управления до тех пор, пока он не будет перехвачен в текущее событие.When you load a control into a container control, the container raises all of the added control's events until it has caught up to the current event. Однако добавленный элемент управления не захватывается при обработке данных обратной передачи.However, the added control does not catch up with postback data processing. Чтобы добавить элемент управления для участия в обработке данных обратной передачи, включая проверку, элемент управления должен быть добавлен в Init событие, а не в событие Load.For an added control to participate in postback data processing, including validation, the control must be added in the Init event rather than in the Load event.

LoadControl(String)

Загружает объект Control из файла по выделенному виртуальному пути.Loads a Control object from a file based on a specified virtual path.

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

Виртуальный путь к управляющему файлу.The virtual path to a control file.

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

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

Исключения

Виртуальный путь null или пустой.The virtual path is null or empty.

Примеры

В следующем примере кода показано, как использовать метод LoadControl для добавления пользовательского элемента управления на страницу ASP.NET.The following code example demonstrates how to use the LoadControl method to add a user control to an ASP.NET page.

В методе OnInit события Эта страница использует метод LoadControl для программного создания пользовательского элемента управления на странице.In the OnInit event method, this page uses the LoadControl method to programmatically create a user control on the page. Метод добавляет элемент управления в свойство Controls элемента управления веб-сервера PlaceHolder с именем Placeholder1.The method adds the control to the Controls property of a PlaceHolder Web server control named Placeholder1.

Определение класса MyControl, используемого в этом примере кода, см. в разделе TemplateControl.For the definition of the MyControl class that is used in this code example, see 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

Комментарии

Если элемент управления поддерживает кэширование, то объект, возвращаемый методом LoadControl, на самом деле не является Control объектом. Вместо этого это объект PartialCachingControl.If the control supports caching, the object returned from the LoadControl method is not actually a Control object; rather, it is a PartialCachingControl object. Если параметр virtualPath является относительным, путь к загруженному элементу управления задается относительно пути TemplateControl.If the virtualPath parameter is relative, the path of the loaded control is relative to the path of the TemplateControl.

Когда элемент управления загружается в контейнерный элемент управления, контейнер создает все события добавленного элемента управления до тех пор, пока он не будет перехвачен в текущее событие.When you load a control into a container control, the container raises all of the added control's events until it has caught up to the current event. Однако добавленный элемент управления не захватывается при обработке данных обратной передачи.However, the added control does not catch up with postback data processing. Чтобы добавить элемент управления для участия в обработке данных обратной передачи, включая проверку, элемент управления должен быть добавлен в Init событие, а не в событие Load.For an added control to participate in postback data processing, including validation, the control must be added in the Init event rather than in the Load event.

Дополнительно

LoadControl(Type, Object[])

Загружает объект Control на основе данных выделенного пути и параметров конструктора.Loads a Control object based on a specified type and constructor parameters.

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

Тип элемента управления.The type of the control.

parameters
Object[]

Массив аргументов, число, порядок и тип которых соответствуют параметрам вызываемого конструктора.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. Если параметр parameters предоставляет пустой массив или имеет значение null, то вызывается конструктор, который не принимает никаких параметров (конструктор без параметров).If parameters is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

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

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

Комментарии

Если пользовательский элемент управления поддерживает кэширование, то объект, возвращаемый методом LoadControl, на самом деле не является UserControl объектом. Вместо этого это объект PartialCachingControl.If the user control supports caching, the object returned from the LoadControl method is not actually a UserControl object; rather, it is a PartialCachingControl object.

Когда элемент управления загружается в контейнерный элемент управления, контейнер создает все события добавленного элемента управления до тех пор, пока он не будет перехвачен в текущее событие.When you load a control into a container control, the container raises all of the added control's events until it has caught up to the current event. Однако добавленный элемент управления не захватывается при обработке данных обратной передачи.However, the added control does not catch up with postback data processing. Чтобы добавить элемент управления для участия в обработке данных обратной передачи, включая проверку, элемент управления должен быть добавлен в Init событие, а не в событие Load.For an added control to participate in postback data processing, including validation, the control must be added in the Init event rather than in the Load event.

Дополнительно

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