This documentation is archived and is not being maintained.

HyperLink.AddParsedSubObject Method

Notifies the control that an element was parsed, and adds the element to the HyperLink 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.

This method is used primarily by control developers, when deriving a custom control from the HyperLink class.

If the input object is a LiteralControl, and the HyperLink control has no child controls, then the input object is used to set the Text property of the 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 HyperLink 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 HyperLink - AddParsedSubObject - C# Example</title>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom HyperLink - AddParsedSubObject - C# Example</h3>

            <aspSample:CustomHyperLinkAddParsedSubObject 
              id="HyperLink1" runat="server" Target="_blank"
              NavigateUrl="http://www.microsoft.com/"  
              ToolTip="Microsoft Web Site">www.microsoft.com
            </aspSample:CustomHyperLinkAddParsedSubObject>

        </form>
    </body>
</html>
using System.Web;
using System.Security.Permissions;

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

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

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