PersistChildrenAttribute 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 PersistChildrenAttribute 类的新实例。
重载
PersistChildrenAttribute(Boolean) |
使用一个用于指示是否将嵌套内容作为嵌套控件保留的布尔值初始化 PersistChildrenAttribute 类的新实例。 |
PersistChildrenAttribute(Boolean, Boolean) |
使用两个布尔值初始化 PersistChildrenAttribute 类的新实例。 一个用于指示是否将嵌套内容作为嵌套控件保留,另一个用于指示是否使用自定义的保留方法。 |
PersistChildrenAttribute(Boolean)
使用一个用于指示是否将嵌套内容作为嵌套控件保留的布尔值初始化 PersistChildrenAttribute 类的新实例。
public:
PersistChildrenAttribute(bool persist);
public PersistChildrenAttribute (bool persist);
new System.Web.UI.PersistChildrenAttribute : bool -> System.Web.UI.PersistChildrenAttribute
Public Sub New (persist As Boolean)
参数
- persist
- Boolean
若要将嵌套内容作为嵌套控件保留,则为 true
;否则为 false
。
示例
下面的代码示例演示如何为名为 CollectionPropertyControl
的自定义服务器控件应用 PersistChildrenAttribute 特性。
此代码示例是为 PersistChildrenAttribute 类提供的一个更大示例的一部分。
// Use the PersistChildren attribute to set the Persist
// property to false so that none of this class's
// child controls will be persisted as controls. They will
// be persisted only as child elements of this class.
// If you set the PersistChildren attribute to true, or if you
// do not include this attribute when you create a control,
// the child controls will be persisted as controls.
[PersistChildren(false)]
[AspNetHostingPermission(SecurityAction.Demand,
Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class CollectionPropertyControl : Control
{
private String header;
private ArrayList employees = new ArrayList();
public String Header
{
get
{
return header;
}
set
{
header = value;
}
}
public ArrayList Employees
{
get
{
return employees;
}
}
// Override the CreateChildControls method to
// add child controls to the Employees property when this
// custom control is requested from a page.
protected override void CreateChildControls()
{
Label label = new Label();
label.Text = Header;
label.BackColor = Color.Beige;
label.ForeColor = Color.Red;
Controls.Add(label);
Controls.Add(new LiteralControl("<BR> <BR>"));
Table table = new Table();
TableRow htr = new TableRow();
TableHeaderCell hcell1 = new TableHeaderCell();
hcell1.Text = "Name";
htr.Cells.Add(hcell1);
TableHeaderCell hcell2 = new TableHeaderCell();
hcell2.Text = "Title";
htr.Cells.Add(hcell2);
TableHeaderCell hcell3 = new TableHeaderCell();
hcell3.Text = "Alias";
htr.Cells.Add(hcell3);
table.Rows.Add(htr);
table.BorderWidth = 2;
table.BackColor = Color.Beige;
table.ForeColor = Color.Red;
foreach (Employee employee in Employees)
{
TableRow tr = new TableRow();
TableCell cell1 = new TableCell();
cell1.Text = employee.Name;
tr.Cells.Add(cell1);
TableCell cell2 = new TableCell();
cell2.Text = employee.Title;
tr.Cells.Add(cell2);
TableCell cell3 = new TableCell();
cell3.Text = employee.Alias;
tr.Cells.Add(cell3);
table.Rows.Add(tr);
}
Controls.Add(table);
}
}
' Use the PersistChildren attribute to set the Persist
' property to false so that none of this class's
' child controls will be persisted as controls. They will
' be persisted only as child elements of this class.
' If you set the PersistChildren attribute to true, or if you
' do not include this attribute when you create a control,
' the child controls will be persisted as controls.
<PersistChildren(False)> _
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CollectionPropertyControl
Inherits Control
Private _header As String
Private _employees As New ArrayList()
Public Property Header() As String
Get
Return _header
End Get
Set
_header = value
End Set
End Property
Public ReadOnly Property Employees() As ArrayList
Get
Return _employees
End Get
End Property
' Override the CreateChildControls method to
' add child controls to the Employees property when this
' custom control is requested from a page.
Protected Overrides Sub CreateChildControls()
Dim label As New Label()
label.Text = Header
label.BackColor = Color.Beige
label.ForeColor = Color.Red
Controls.Add(label)
Controls.Add(New LiteralControl("<BR> <BR>"))
Dim table As New Table()
Dim htr As New TableRow()
Dim hcell1 As New TableHeaderCell()
hcell1.Text = "Name"
htr.Cells.Add(hcell1)
Dim hcell2 As New TableHeaderCell()
hcell2.Text = "Title"
htr.Cells.Add(hcell2)
Dim hcell3 As New TableHeaderCell()
hcell3.Text = "Alias"
htr.Cells.Add(hcell3)
table.Rows.Add(htr)
table.BorderWidth = Unit.Pixel(2)
table.BackColor = Color.Beige
table.ForeColor = Color.Red
Dim employee As Employee
For Each employee In Employees
Dim tr As New TableRow()
Dim cell1 As New TableCell()
cell1.Text = employee.Name
tr.Cells.Add(cell1)
Dim cell2 As New TableCell()
cell2.Text = employee.Title
tr.Cells.Add(cell2)
Dim cell3 As New TableCell()
cell3.Text = employee.Alias
tr.Cells.Add(cell3)
table.Rows.Add(tr)
Next employee
Controls.Add(table)
End Sub
End Class
另请参阅
适用于
PersistChildrenAttribute(Boolean, Boolean)
使用两个布尔值初始化 PersistChildrenAttribute 类的新实例。 一个用于指示是否将嵌套内容作为嵌套控件保留,另一个用于指示是否使用自定义的保留方法。
public:
PersistChildrenAttribute(bool persist, bool usesCustomPersistence);
public PersistChildrenAttribute (bool persist, bool usesCustomPersistence);
new System.Web.UI.PersistChildrenAttribute : bool * bool -> System.Web.UI.PersistChildrenAttribute
Public Sub New (persist As Boolean, usesCustomPersistence As Boolean)
参数
- persist
- Boolean
若要将嵌套内容作为嵌套控件保留,则为 true
;否则为 false
。
- usesCustomPersistence
- Boolean
若要使用自定义保留方法,则为 true
;否则为 false
。