This documentation is archived and is not being maintained.

LinkButton.AddParsedSubObject Method

Notifies the control that an element, either XML or HTML, was parsed, and adds the element to the control's ControlCollection object.

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

protected override void AddParsedSubObject (
	Object obj
)
protected void AddParsedSubObject (
	Object obj
)
protected override function AddParsedSubObject (
	obj : Object
)
Not applicable.

Parameters

obj

An Object that represents the parsed element.

The following code example demonstrates how to override the AddParsedSubObject method in a custom LinkButton server control so that it either sets the text property to the parsed object's text property, if the parsed object is a Literal object, or 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 LinkButton - AddParsedSubObject - C# Example</title>
    <script runat="server">
      void LinkButton1_Command(Object sender, CommandEventArgs e) 
      {
        // Redirect to the Microsoft home page.
        Response.Redirect("http://www.microsoft.com/");
      }
    </script>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom LinkButton - AddParsedSubObject - C# Example</h3>
            
            <aspSample:CustomLinkButtonAddParsedSubObject 
              id="LinkButton1" 
              runat="server" 
              OnCommand="LinkButton1_Command" 
              ToolTip="Microsoft Home">Microsoft Corp.
            </aspSample:CustomLinkButtonAddParsedSubObject>

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

	...

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

namespace Samples.AspNet.CS.Controls
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomLinkButtonAddParsedSubObject : System.Web.UI.WebControls.LinkButton
    {
        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 // 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 // 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));
                    }
                    base.AddParsedSubObject(obj);
                }
            }
        }
    }
}

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" 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 LinkButton - AddParsedSubObject - VJ# Example</title>
    <script runat="server">
        void LinkButton1_Command(Object sender, CommandEventArgs e) 
        {
            // Redirect to the Microsoft home page.
            get_Response().Redirect("http://www.microsoft.com/");
        } //LinkButton1_Command
    </script>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom LinkButton - AddParsedSubObject - VJ# Example</h3>
            
            <aspSample:CustomLinkButtonAddParsedSubObject 
              id="LinkButton1" 
              runat="server" 
              OnCommand="LinkButton1_Command" 
              ToolTip="Microsoft Home">Microsoft Corp.
            </aspSample:CustomLinkButtonAddParsedSubObject>

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

	...

package Samples.AspNet.JSL.Controls; 

public class CustomLinkButtonAddParsedSubObject
    extends System.Web.UI.WebControls.LinkButton
{
    protected 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.
            super.AddParsedSubObject(obj);
        }
        // Else the server control doesn't contain any child controls.
        else {
            // If the parsed element is a LiteralControl.
            if (obj instanceof System.Web.UI.LiteralControl) {
                // Set the server control's Text property to the parsed 
                // element's Text value.
                this.set_Text(((System.Web.UI.LiteralControl)obj).get_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.get_Text();
                if (currentText.get_Length() != 0) {
                    // Set the server control's Text property to an 
                    // empty string.
                    this.set_Text("");
                    // Notify the base server control that a new 
                    // LiteralControl was parsed, and adds the element to 
                    // the server control's ControlCollection object.
                    super.AddParsedSubObject(new System.Web.UI.
                        LiteralControl(currentText));
                }
                super.AddParsedSubObject(obj);
            }
        }
    } //AddParsedSubObject
} //CustomLinkButtonAddParsedSubObject

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Show: