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 パラメーターによって指定されるオブジェクトが使用できる型は、LiteralControl または DataBoundLiteralControl のみです。

次のコード例では、カスタム HtmlTextArea サーバー コントロール内のメソッドをAddParsedSubObjectオーバーライドして、解析されたオブジェクトが型LiteralControlであるか、または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

注釈

このメソッドはAddParsedSubObject、オブジェクトがHtmlTextAreaLiteralControlの場合はコントロールControlCollectionにオブジェクトを追加しますDataBoundLiteralControl。それ以外の場合は、an HttpException がスローされます。

この AddParsedSubObject メソッドは、主にコントロールの機能 HtmlTextArea を拡張するコントロール開発者によって使用されます。

適用対象

こちらもご覧ください