次の方法で共有


ControlBuilder.OnAppendToParentBuilder メソッド

親コントロール ビルダに追加されることを ControlBuilder に通知します。

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

構文

'宣言
Public Overridable Sub OnAppendToParentBuilder ( _
    parentBuilder As ControlBuilder _
)
'使用
Dim instance As ControlBuilder
Dim parentBuilder As ControlBuilder

instance.OnAppendToParentBuilder(parentBuilder)
public virtual void OnAppendToParentBuilder (
    ControlBuilder parentBuilder
)
public:
virtual void OnAppendToParentBuilder (
    ControlBuilder^ parentBuilder
)
public void OnAppendToParentBuilder (
    ControlBuilder parentBuilder
)
public function OnAppendToParentBuilder (
    parentBuilder : ControlBuilder
)
適用できません。

パラメータ

  • parentBuilder
    現在のビルダの追加先の ControlBuilder オブジェクト。

使用例

この例では、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 名前空間