次の方法で共有


ControlBuilder.HasAspCode プロパティ

コントロールにコード ブロックが格納されているかどうかを示す値を取得します。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Public ReadOnly Property HasAspCode As Boolean
'使用
Dim instance As ControlBuilder
Dim value As Boolean

value = instance.HasAspCode
public bool HasAspCode { get; }
public:
property bool HasAspCode {
    bool get ();
}
/** @property */
public boolean get_HasAspCode ()
public function get HasAspCode () : boolean
適用できません。

プロパティ値

コントロールに 1 つ以上のコード ブロックが格納されている場合は true。それ以外の場合は false

使用例

この例では、ControlType プロパティをチェックして、このビルダが適用されるコントロールの型を判断するように OnAppendToParentBuilder メソッドがオーバーライドされています。CustomTextBox の場合、ビルダは、HasAspCode プロパティの値がそのコントロールに含まれているかどうかを確認します。コード ブロックが含まれている場合、例外がスローされ、含まれていない場合、HasBody メソッドが呼び出されます。

Imports System
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
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();
            }
        }
    }
}

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

ControlBuilder クラス
ControlBuilder メンバ
System.Web.UI 名前空間

その他の技術情報

コード宣言ブロック