Control.EnsureChildControls Control.EnsureChildControls Control.EnsureChildControls Control.EnsureChildControls Method

Определение

Определяет наличие у серверного элемента управления дочерних элементов управления.Determines whether the server control contains child controls. Если дочерних элементов управления нет, они будут созданы.If it does not, it creates child controls.

protected:
 virtual void EnsureChildControls();
protected virtual void EnsureChildControls ();
abstract member EnsureChildControls : unit -> unit
override this.EnsureChildControls : unit -> unit
Protected Overridable Sub EnsureChildControls ()

Примеры

В следующем примере используется EnsureChildControls метод, чтобы убедиться, что текущий серверный элемент управления имеет дочерние элементы управления.The following example uses the EnsureChildControls method to ensure that the current server control has child controls. Затем он получает или задает Text свойство для дочернего TextBox веб-элемента управления в ControlCollection объекте текущего серверного элемента управления.It then gets or sets a Text property for a child TextBox Web control in the current server control's ControlCollection object.

Важно!

В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности.This example has a text box that accepts user input, which is a potential security threat. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.For more information, see Script Exploits Overview.

// Ensure the current control has children,
// then get or set the Text property.
 public int Value {
    get {
        this.EnsureChildControls();
        return Int32.Parse(((TextBox)Controls[1]).Text);
    }
    set {
        this.EnsureChildControls();
        ((TextBox)Controls[1]).Text = value.ToString();
    }
 }

' Ensure the current control has children,
' then get or set the Text property.

Public Property Value() As Integer
   Get
      Me.EnsureChildControls()
      Return Int32.Parse(CType(Controls(1), TextBox).Text)
   End Get
   Set
      Me.EnsureChildControls()
      CType(Controls(1), TextBox).Text = value.ToString()
   End Set
End Property


Комментарии

Этот метод сначала проверяет текущее значение ChildControlsCreated свойства.This method first checks the current value of the ChildControlsCreated property. Если это значение равно false CreateChildControls , вызывается метод.If this value is false, the CreateChildControls method is called.

EnsureChildControls Метод обычно используется в составных элементах управления, которые являются элементами управления, которые используют дочерние элементы управления для некоторых или всех их функциональных возможностей.The EnsureChildControls method is typically used in composite controls, which are controls that use child controls for some or all their functionality. EnsureChildControls Метод вызывается для того, чтобы убедиться, что дочерние элементы управления созданы и готовы обрабатывать входные данные, выполнять привязку данных или выполнять другие задачи.The EnsureChildControls method is called in order to make sure that child controls have been created and are ready to process input, to perform data binding, or to perform other tasks.

GridView Элемент управления является примером составного элемента управления.The GridView control is an example of a composite control. Он создает дочерние элементы Tableуправления TableRow, TableCellтакие Labelкак, TextBox ,, и, которые используются для визуализации таблицы HTML, GridView создаваемой.It creates child controls such as Table, TableRow, TableCell, Label, and TextBox controls, which are used to render the HTML table that the GridView generates.

В большинстве случаев пользовательским разработчикам серверных элементов не нужно переопределять этот метод.In most cases, custom server control developers do not have to override this method. При переопределении этого метода используйте его таким же образом, как и поведение по умолчанию.If you do override this method, use it in a way similar to the default behavior.

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

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