PersistChildrenAttribute Constructors
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Initializes a new instance of the PersistChildrenAttribute class.
Overloads
PersistChildrenAttribute(Boolean) |
Initializes a new instance of the PersistChildrenAttribute class using a Boolean value indicating whether to persist nested content as nested controls. |
PersistChildrenAttribute(Boolean, Boolean) |
Initializes a new instance of the PersistChildrenAttribute class using two Boolean values. One indicating whether to persist nested content as nested controls and the other indicating whether to use a custom persistence method. |
PersistChildrenAttribute(Boolean)
Initializes a new instance of the PersistChildrenAttribute class using a Boolean value indicating whether to persist nested content as nested controls.
public:
PersistChildrenAttribute(bool persist);
public PersistChildrenAttribute (bool persist);
new System.Web.UI.PersistChildrenAttribute : bool -> System.Web.UI.PersistChildrenAttribute
Public Sub New (persist As Boolean)
Parameters
- persist
- Boolean
true
to persist the nested content as nested controls; otherwise, false
.
Examples
The following code example demonstrates how to apply the PersistChildrenAttribute attribute for a custom server control named CollectionPropertyControl
.
This code example is part of a larger example provided for the PersistChildrenAttribute class.
// 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
See also
Applies to
PersistChildrenAttribute(Boolean, Boolean)
Initializes a new instance of the PersistChildrenAttribute class using two Boolean values. One indicating whether to persist nested content as nested controls and the other indicating whether to use a custom persistence method.
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)
Parameters
- persist
- Boolean
true
to persist nested content as nested controls; otherwise, false
.
- usesCustomPersistence
- Boolean
true
to use customized persistence; otherwise, false
.