ITemplate.InstantiateIn(Control) 方法

定义

当由类实现时,定义子控件和模板所属的 Control 对象。 然后在内联模板中定义这些子控件。

public:
 void InstantiateIn(System::Web::UI::Control ^ container);
public void InstantiateIn (System.Web.UI.Control container);
abstract member InstantiateIn : System.Web.UI.Control -> unit
Public Sub InstantiateIn (container As Control)

参数

container
Control

要包含内联模板中的控件实例的 Control 对象。

示例

// Override the ITemplate.InstantiateIn method to ensure 
// that the templates are created in a Literal control and
// that the Literal object's DataBinding event is associated
// with the BindData method.
public void InstantiateIn(Control container)
{
    Literal l = new Literal();
    l.DataBinding += new EventHandler(this.BindData);
    container.Controls.Add(l);
}
// Create a public method that will handle the
// DataBinding event called in the InstantiateIn method.
public void BindData(object sender, EventArgs e)
{
    Literal l = (Literal) sender;
    DataGridItem container = (DataGridItem) l.NamingContainer;
    l.Text = ((DataRowView) container.DataItem)[column].ToString();
}
' Override the ITemplate.InstantiateIn method to ensure 
' that the templates are created in a Literal control and
' that the Literal object's DataBinding event is associated
' with the BindData method.
Public Sub InstantiateIn(container As Control) Implements ITemplate.InstantiateIn
   Dim l As New Literal()
   AddHandler l.DataBinding, AddressOf Me.BindData
   container.Controls.Add(l)
End Sub

' Create a public method that will handle the
' DataBinding event called in the InstantiateIn method.
Public Sub BindData(sender As Object, e As EventArgs)
   Dim l As Literal = CType(sender, Literal)
   Dim container As DataGridItem = CType(l.NamingContainer, DataGridItem)
   l.Text = CType(container.DataItem, DataRowView)(column).ToString()
End Sub

注解

开发模板化服务器控件时,无需实现此方法;.NET Framework为你提供实现。

适用于

另请参阅