HtmlTextArea.AddParsedSubObject(Object) Method

Definition

Notifies the HtmlTextArea control that an object was parsed and adds the object to the HtmlTextArea control's ControlCollection object.

protected:
 override void AddParsedSubObject(System::Object ^ obj);
protected override void AddParsedSubObject (object obj);
override this.AddParsedSubObject : obj -> unit
Protected Overrides Sub AddParsedSubObject (obj As Object)

Parameters

obj
Object

An Object that represents the parsed element.

Exceptions

The object specified by the obj parameter can only be of the type LiteralControl or DataBoundLiteralControl.

Examples

The following code example demonstrates how to override the AddParsedSubObject method in a custom HtmlTextArea server control so that it always determines whether the parsed object is of the type LiteralControl or DataBoundLiteralControl.

<%@ 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">
<script runat="server">

  void Page_Load(Object sender, EventArgs e)
  {
    HtmlTextArea1.Value = "Hello Html Text Area World.";
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>Custom HtmlTextArea AddParsedSubObject Example</title>
  </head>

  <body>
    <form id="Form1" 
          method="post" 
          runat="server">

      <h3>Custom HtmlTextArea AddParsedSubObject Example</h3>

      <aspSample:CustomHtmlTextAreaAddParsedSubObject 
        id="HtmlTextArea1" 
        name="HtmlTextArea1" 
        runat="server" 
        rows="4" 
        cols="50"/>
        
    </form>
  </body>
</html>
<%@ 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"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub Page_Load(sender As Object, e As EventArgs)

    HtmlTextArea1.Value = "Hello Html Text Area World."

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>Custom HtmlTextArea AddParsedSubObject Example</title>
  </head>

  <body>
    <form id="Form1" 
          method="post" 
          runat="server">

      <h3>Custom HtmlTextArea AddParsedSubObject Example</h3>

      <aspSample:CustomHtmlTextAreaAddParsedSubObject 
        id="HtmlTextArea1" 
        name="HtmlTextArea1" 
        runat="server" 
        rows="4" 
        cols="50" />
        
    </form>
  </body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{

  [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
  public sealed class CustomHtmlTextAreaAddParsedSubObject : System.Web.UI.HtmlControls.HtmlTextArea
  {
    protected override void AddParsedSubObject(object obj)
    {
      // If the object is a LiteralControl or a DataBoundLiteralControl control, 
      // then pass the object to the base class's AddParsedSubObject method.
      if (obj is System.Web.UI.LiteralControl || 
          obj is System.Web.UI.DataBoundLiteralControl)
      {
        base.AddParsedSubObject(obj);
      }
      else
      {
        throw new System.Web.HttpException("You cannot have a child control of type " 
         + obj.GetType().Name.ToString() + ".");
      }
    }
  }
}
Imports System.Web
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls

Public NotInheritable Class CustomHtmlTextAreaAddParsedSubObject
   Inherits System.Web.UI.HtmlControls.HtmlTextArea

        <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
        Protected Overrides Sub AddParsedSubObject(ByVal obj As Object)

            ' If the object is a LiteralControl or a DataBoundLiteralControl control, 
            ' then pass the object to the base class's AddParsedSubObject method.
            If TypeOf obj Is System.Web.UI.LiteralControl OrElse TypeOf obj Is System.Web.UI.DataBoundLiteralControl Then
                MyBase.AddParsedSubObject(obj)
            Else
                Throw New System.Web.HttpException("You cannot have a child control of type " _ 
                  & obj.GetType().Name.ToString() & ".")
            End If
        End Sub

End Class
End Namespace

Remarks

The AddParsedSubObject method adds an object to the HtmlTextArea control's ControlCollection if the object is of the type LiteralControl or DataBoundLiteralControl; otherwise, an HttpException is thrown.

The AddParsedSubObject method is primarily used by control developers extending the functionality of the HtmlTextArea control.

Applies to

See also