This documentation is archived and is not being maintained.
ParseChildrenAttribute.ChildrenAsProperties Property
.NET Framework 1.1
Gets or sets a value indicating whether child XML elements are parsed as though they are properties of a server control.
[Visual Basic] Public Property ChildrenAsProperties As Boolean [C#] public bool ChildrenAsProperties {get; set;} [C++] public: __property bool get_ChildrenAsProperties(); public: __property void set_ChildrenAsProperties(bool); [JScript] public function get ChildrenAsProperties() : Boolean; public function set ChildrenAsProperties(Boolean);
Property Value
true if the child elements are parsed as properties; otherwise, false. The default is true.
Remarks
If this property is set to false, the XML elements are parsed as child controls of the server control.
Example
[Visual Basic] ' Use the ParseChildren attribute to set the ChildrenAsProperties ' and DefaultProperty properties. Using this constructor, the ' control parses all child controls as properties and must define ' a public property named Employees, which it declares as ' an ArrayList. Nested (child) elements must correspond to ' child elements of the Employees property or to other ' properties of the control. <ParseChildren(True, "Employees")> _ Public 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 = System.Drawing.Color.Beige label.ForeColor = System.Drawing.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 = System.Drawing.Color.Beige table.ForeColor = System.Drawing.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 'CreateChildControls End Class 'CollectionPropertyControl End Namespace 'ParseChildrenVBSamples [C#] // Use the ParseChildren attribute to set the ChildrenAsProperties // and DefaultProperty properties. Using this constructor, the // control parses all child controls as properties and must define // a public property named Employees, which it declares as // an ArrayList. Nested (child) elements must correspond to // child elements of the Employees property or to other // properties of the control. [ParseChildren(true, "Employees")] public 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 = System.Drawing.Color.Beige; label.ForeColor = System.Drawing.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 = System.Drawing.Color.Beige; table.ForeColor = System.Drawing.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); } } [C++] // Use the ParseChildren attribute to set the ChildrenAsProperties // and DefaultProperty properties. Using this constructor, the // control parses all child controls as properties and must define // a public property named Employees, which it declares as // an ArrayList. Nested (child) elements must correspond to // child elements of the Employees property or to other // properties of the control. [ParseChildren(true, S"Employees")] public __gc class CollectionPropertyControl : public Control { private: String* header; ArrayList* employees; public: CollectionPropertyControl() { employees = new ArrayList(); } __property String* get_Header() { return header; } __property void set_Header(String* value) { header = value; } __property ArrayList* get_Employees() { return employees; } // Override the CreateChildControls method to // add child controls to the Employees property when this // custom control is requested from a page. protected: void CreateChildControls() { Label* label = new Label(); label->Text = Header; label->BackColor = System::Drawing::Color::Beige; label->ForeColor = System::Drawing::Color::Red; Controls->Add(label); Controls->Add(new LiteralControl(S"<BR> <BR>")); Table* table = new Table(); TableRow* htr = new TableRow(); TableHeaderCell* hcell1 = new TableHeaderCell(); hcell1->Text = S"Name"; htr->Cells->Add(hcell1); TableHeaderCell* hcell2 = new TableHeaderCell(); hcell2->Text = S"Title"; htr->Cells->Add(hcell2); TableHeaderCell* hcell3 = new TableHeaderCell(); hcell3->Text = S"Alias"; htr->Cells->Add(hcell3); table->Rows->Add(htr); table->BorderWidth = 2; table->BackColor = System::Drawing::Color::Beige; table->ForeColor = System::Drawing::Color::Red; IEnumerator* myEnum = Employees->GetEnumerator(); while (myEnum->MoveNext()) { Employee* employee = __try_cast<Employee*>(myEnum->Current); 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); } };
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
ParseChildrenAttribute Class | ParseChildrenAttribute Members | System.Web.UI Namespace | Using ParseChildrenAttribute
Show: