HtmlTextArea.AddParsedSubObject(Object) 方法

定义

通知 HtmlTextArea 控件某个对象已分析并将该对象添加到 HtmlTextArea 控件的 ControlCollection 对象中。

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)

参数

obj
Object

一个 Object,表示已经过分析的元素。

例外

obj 参数指定的对象只能属于 LiteralControlDataBoundLiteralControl 类型。

示例

下面的代码示例演示如何重写 AddParsedSubObject 自定义 HtmlTextArea 服务器控件中的方法,以便始终确定分析的对象是否为类型 LiteralControlDataBoundLiteralControl

<%@ 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

注解

如果对象为类型,则该方法AddParsedSubObject将对象添加到HtmlTextArea控件中ControlCollection;否则将引发一个HttpException对象。DataBoundLiteralControlLiteralControl

该方法 AddParsedSubObject 主要用于控件开发人员扩展控件的功能 HtmlTextArea

适用于

另请参阅