Label.AddParsedSubObject Method (Object)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Notifies the control that an element was parsed and adds the element to the Label control.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

Protected Overrides Sub AddParsedSubObject (
	obj As Object


Type: System.Object

An object that represents the parsed element.

The AddParsedSubObject method is used primarily by control developers when deriving a custom control from the Label class.

If the input object is a LiteralControl, and the Label control has no child controls, the input object is used to set the Text property of the Label control. Otherwise, the AddParsedSubObject method of the base Control class is called and the specified object is added to the Controls collection.

The following code example demonstrates how to override the AddParsedSubObject method in a custom Label server control so that it always sets the text property to the parsed object's text property, if the parsed object is a Literal, and to an empty string otherwise.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="" >
        <title>Custom Label - AddParsedSubObject - VB.NET Example</title>
        <form id="Form1" method="post" runat="server">
            <h3>Custom Label - AddParsedSubObject - VB.NET Example</h3>

            <aspSample:CustomLabelAddParsedSubObject id="Label1" runat="server" 
             ToolTip="Microsoft Corp.">Microsoft Corp.</aspSample:CustomLabelAddParsedSubObject>

<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomLabelAddParsedSubObject
    Inherits System.Web.UI.WebControls.Label

    Protected Overrides Sub AddParsedSubObject(ByVal obj As Object)

        ' If the server control contains any child controls.
        If Me.HasControls() Then

            ' Notify the base server control that an element, either XML or HTML, 
            ' was parsed, and adds the element to the server control's 
            ' ControlCollection object.
            ' Else the server control doesn't contain any child controls.
            ' If the parsed element is a LiteralControl.
            If TypeOf obj Is System.Web.UI.LiteralControl Then

                ' Set the server control's Text property to the parsed element's Text value.
                Me.Text = CType(obj, System.Web.UI.LiteralControl).Text

                ' Else the parsed element is not a LiteralControl.
                ' If the server control has a value in the the Text property.
                Dim currentText As String = Me.Text
                If currentText.Length <> 0 Then

                    ' Set the server control's Text property to an empty string.
                    Me.Text = System.String.Empty

                    ' Notify the base server control that a new LiteralControl was parsed, 
                    ' and adds the element to the server control's ControlCollection object.
                    MyBase.AddParsedSubObject(New System.Web.UI.LiteralControl(currentText))
                End If
            End If
        End If
    End Sub
End Class

.NET Framework
Available since 1.1
Return to top