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 では、実装を提供します。

適用対象

こちらもご覧ください