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

返回

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 页框架在分析期间调用,不应在代码中直接调用。This method is called by the ASP.NET page framework during parsing and is not intended to be called directly in you code.

适用于