ControlBuilder.HasBody メソッド

定義

コントロールに開始タグと終了タグの両方のタグを含めるかどうかを決定します。Determines if a control has both an opening and closing tag. このメソッドは ASP.NET ページ フレームワークによって呼び出されます。This method is called by the ASP.NET page framework.

public:
 virtual bool HasBody();
public virtual bool HasBody ();
abstract member HasBody : unit -> bool
override this.HasBody : unit -> bool
Public Overridable Function HasBody () As Boolean

戻り値

コントロールに開始タグと終了タグがある場合は true。それ以外の場合は falsetrue if the control has an opening and closing tag; otherwise, false.

この例ではOnAppendToParentBuilder 、メソッドをオーバーライドControlTypeして、プロパティをチェックし、このビルダーが適用されるコントロールの種類を確認します。This example overrides the OnAppendToParentBuilder method to check the ControlType property to determine what type of control this builder is applied to. がのCustomTextBox場合、ビルダーは、 HasAspCodeプロパティの値がコントロールに含まれているかどうかを確認します。If it is a CustomTextBox, the builder checks whether the value of the HasAspCode property is included in the control. 存在する場合は、 HasBodyメソッドが呼び出されないと、例外がスローされます。If so, an exception is thrown, if not the HasBody method is called.

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

namespace ASPNET.Samples
{
    [
    AspNetHostingPermission(SecurityAction.Demand,
        Level=AspNetHostingPermissionLevel.Minimal)
    ]
    public class AppendControlBuilder : ControlBuilder
    {
        // Override the OnAppendToParentBuilder method.
        public override void OnAppendToParentBuilder(ControlBuilder parentBuilder)
        {
            // Check whether the type of the control this builder
            // is applied to is CustomTextBox. If so, check whether
            // ASP code blocks exist in the control. If so, call
            // throw an Exception, if not, call the HasBody method.        
            if (ControlType == Type.GetType("CustomTextBox"))
            {
                if (HasAspCode)
                    throw new Exception("This control cannot contain code blocks.");
                else
                    HasBody();
            }
        }
    }
}
Imports System.Web.UI
Imports System.Web
Imports System.Security.Permissions

Namespace ASPNET.Samples

   <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
   Public NotInheritable Class AppendControlBuilder
      Inherits ControlBuilder

      ' Override the OnAppendToParentBuilder method.
      Overrides Public Sub OnAppendToParentBuilder( _
         ByVal parentBuilder As ControlBuilder _
      )
            ' Check whether the type of the control this builder
            ' is applied to is CustomTextBox. If so, check whether
            ' ASP code blocks exist in the control. If so, call
            ' throw an Exception, if not, call the HasBody method.        
            If ControlType Is Type.GetType("CustomTextBox") Then
                If HasAspCode = True Then
                    Throw New Exception("This control cannot contain code blocks.")
                Else
                    HasBody()
                End If
            End If

        End Sub

   End Class

End Namespace

注釈

このメソッドは、解析中に ASP.NET page フレームワークによって呼び出され、コード内で直接呼び出すためのものではありません。This method is called by the ASP.NET page framework during parsing and is not intended to be called directly in you code.

適用対象