PersistChildrenAttribute 构造函数

定义

初始化 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

适用于