TemplateContainerAttribute コンストラクター
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
TemplateContainerAttribute クラスの新しいインスタンスを初期化します。
TemplateContainerAttribute(Type) |
コンテナーの型を指定して、TemplateContainerAttribute クラスの新しいインスタンスを初期化します。 |
TemplateContainerAttribute(Type, BindingDirection) |
指定したコンテナーの型と TemplateContainerAttribute プロパティを使用して、BindingDirection クラスの新しいインスタンスを初期化します。 |
コンテナーの型を指定して、TemplateContainerAttribute クラスの新しいインスタンスを初期化します。
public:
TemplateContainerAttribute(Type ^ containerType);
public TemplateContainerAttribute (Type containerType);
new System.Web.UI.TemplateContainerAttribute : Type -> System.Web.UI.TemplateContainerAttribute
Public Sub New (containerType As Type)
パラメーター
例
次のコード例は、 という名前のテンプレートコントロールを作成し、 という名前TemplatedFirstControl
FirstTemplateContainer
のコンテナーに関連付ける方法を示しています。 これにより、テンプレートが指定されていないサーバー時刻と、テンプレートが指定されたときにテンプレートのコンテンツを表示するカスタム コントロールを作成できます。 クラスは TemplateContainerAttribute 、 プロパティに FirstTemplate
使用されます。
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
namespace Samples.AspNet.CS.Controls
{
[ParseChildren(true)]
public class TemplatedFirstControl : Control, INamingContainer
{
private ITemplate firstTemplate;
private String text = null;
private Control myTemplateContainer;
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
protected override void OnDataBinding(EventArgs e)
{
EnsureChildControls();
base.OnDataBinding(e);
}
[TemplateContainer(typeof(FirstTemplateContainer))]
public ITemplate FirstTemplate
{
get
{
return firstTemplate;
}
set
{
firstTemplate = value;
}
}
public String Text
{
get
{
return text;
}
set
{
text = value;
}
}
public String DateTime
{
get
{
return System.DateTime.Now.ToLongTimeString();
}
}
public Control MyTemplateContainer
{
get
{
return myTemplateContainer;
}
}
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
protected override void CreateChildControls()
{
if (FirstTemplate != null)
{
myTemplateContainer = new FirstTemplateContainer(this);
FirstTemplate.InstantiateIn(myTemplateContainer);
Controls.Add(myTemplateContainer);
}
else
{
Controls.Add(new LiteralControl(Text + " " + DateTime));
}
}
}
public class FirstTemplateContainer : Control, INamingContainer
{
private TemplatedFirstControl parent;
public FirstTemplateContainer(TemplatedFirstControl parent)
{
this.parent = parent;
}
public String Text
{
get
{
return parent.Text;
}
}
public String DateTime
{
get
{
return parent.DateTime;
}
}
}
}
' File name:templatecontainerattribute.vb.
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Collections
Namespace Samples.AspNet.VB.Controls
<ParseChildren(True)> _
Public Class VB_TemplatedFirstControl
Inherits Control
Implements INamingContainer
Private _firstTemplate As ITemplate
Private [_text] As [String] = Nothing
Private _myTemplateContainer As Control
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub OnDataBinding(ByVal e As EventArgs)
EnsureChildControls()
MyBase.OnDataBinding(e)
End Sub
Public Property FirstTemplate() As ITemplate
Get
Return _firstTemplate
End Get
Set(ByVal value As ITemplate)
_firstTemplate = Value
End Set
End Property
Public Property [Text]() As [String]
Get
Return [_text]
End Get
Set(ByVal value As [String])
[_text] = Value
End Set
End Property
Public ReadOnly Property DateTime() As [String]
Get
Return System.DateTime.Now.ToLongTimeString()
End Get
End Property
Public ReadOnly Property MyTemplateContainer() As Control
Get
Return _myTemplateContainer
End Get
End Property
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub CreateChildControls()
If Not (FirstTemplate Is Nothing) Then
_myTemplateContainer = New VB_FirstTemplateContainer(Me)
FirstTemplate.InstantiateIn(_myTemplateContainer)
Controls.Add(_myTemplateContainer)
Else
Controls.Add(New LiteralControl([Text] + " " + DateTime))
End If
End Sub
End Class
Public Class VB_FirstTemplateContainer
Inherits Control
Implements INamingContainer
Private _parent As VB_TemplatedFirstControl
Public Sub New(ByVal parent As VB_TemplatedFirstControl)
Me._parent = parent
End Sub
Public ReadOnly Property [Text]() As [String]
Get
Return _parent.Text
End Get
End Property
Public ReadOnly Property DateTime() As [String]
Get
Return _parent.DateTime
End Get
End Property
End Class
End Namespace 'CustomControls
こちらもご覧ください
適用対象
.NET Framework 4.8.1 およびその他のバージョン
製品 | バージョン |
---|---|
.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 |
指定したコンテナーの型と TemplateContainerAttribute プロパティを使用して、BindingDirection クラスの新しいインスタンスを初期化します。
public:
TemplateContainerAttribute(Type ^ containerType, System::ComponentModel::BindingDirection bindingDirection);
public TemplateContainerAttribute (Type containerType, System.ComponentModel.BindingDirection bindingDirection);
new System.Web.UI.TemplateContainerAttribute : Type * System.ComponentModel.BindingDirection -> System.Web.UI.TemplateContainerAttribute
Public Sub New (containerType As Type, bindingDirection As BindingDirection)
パラメーター
- bindingDirection
- BindingDirection
コンテナー コントロールの BindingDirection。
こちらもご覧ください
適用対象
.NET Framework 4.8.1 およびその他のバージョン
製品 | バージョン |
---|---|
.NET Framework | 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 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。