Export (0) Print
Expand All

Label.AddParsedSubObject Method

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 override void AddParsedSubObject(
	Object obj
)

Parameters

obj
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.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Custom Label - AddParsedSubObject - C# Example</title>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom Label - AddParsedSubObject - C# Example</h3>

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

        </form>
    </body>
</html>


...


using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
  public sealed class CustomLabelAddParsedSubObject : System.Web.UI.WebControls.Label
  {
    protected override void AddParsedSubObject(object obj)
    {
      // If the server control contains any child controls. 
      if (this.HasControls()) 
      {
        // 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. 
        base.AddParsedSubObject(obj);
      }
        // Else the server control doesn't contain any child controls. 
      else 
      {
        // If the parsed element is a LiteralControl. 
        if (obj is System.Web.UI.LiteralControl) 
        {
          // Set the server control's Text property to the parsed element's Text value. 
          this.Text = ((System.Web.UI.LiteralControl)obj).Text;
        }
          // Else the parsed element is not a LiteralControl. 
        else 
        {
          // If the server control has a value in the the Text property. 
          string currentText = this.Text;
          if (currentText.Length != 0) 
          {
            // Set the server control's Text property to an empty string. 
            this.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. 
            base.AddParsedSubObject(new System.Web.UI.LiteralControl(currentText));
          }
          base.AddParsedSubObject(obj);
        }
      }
    }
  }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft