Literal.AddParsedSubObject Method (Object)


Notifies the Literal control that an XML or HTML element was parsed and adds that element to the ControlCollection of the control.

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

protected override void AddParsedSubObject(
	object obj


Type: System.Object

An Object that represents the parsed element.

Exception Condition

obj is not of type LiteralControl.

The following code example demonstrates how to override the AddParsedSubObject method in a custom 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"
<html xmlns="" >
        <title>Custom LiteralControl - AddParsedSubObject - C# Example</title>
       <script runat="server">
      void Button1_Click(Object sender, EventArgs e)
         Literal1.Text = "Welcome to ASP.NET!";
        <form id="Form1" method="post" runat="server">
            <h3>Custom LiteralControl - AddParsedSubObject - C# Example</h3>

              text="Literal Text" />

      <br /><br />


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

namespace Samples.AspNet.CS.Controls
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomLiteralAddParsedSubObject : System.Web.UI.LiteralControl
    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.
        // Else the server control doesn't contain any child controls.
        // 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.
          // 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));

.NET Framework
Available since 1.1
Return to top