使用英语阅读

通过


Control.EnsureChildControls 方法

定义

确定服务器控件是否包含子控件。 如果不包含,则创建子控件。

C#
protected virtual void EnsureChildControls();

示例

以下示例使用 EnsureChildControls 方法确保当前服务器控件具有子控件。 然后,它在当前服务器控件的 对象中获取或设置 TextTextBox Web 控件的属性 ControlCollection

重要

此示例具有一个接受用户输入的文本框,这是一个潜在的安全威胁。 默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 HTML 元素。 有关详细信息,请参阅脚本侵入概述

C#
// 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();
    }
 }

注解

此方法首先检查 属性的 ChildControlsCreated 当前值。 如果此值为 falseCreateChildControls 则调用 方法。

EnsureChildControls方法通常用于复合控件,这些控件是对其部分或全部功能使用子控件的控件。 EnsureChildControls调用 方法是为了确保子控件已创建并准备好处理输入、执行数据绑定或执行其他任务。

控件 GridView 是复合控件的一个示例。 它创建子控件,如 TableTableRowTableCellLabelTextBox 控件,这些控件用于呈现 生成的 HTML 表 GridView

在大多数情况下,自定义服务器控件开发人员不必重写此方法。 如果确实重写此方法,请以类似于默认行为的方式使用它。

适用于

产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

另请参阅