Language

Page.VerifyRenderingInServerForm(Control) メソッド

定義

指定した ASP.NET サーバー コントロールの HtmlForm コントロールが実行時にレンダリングされることを確認します。

public:
 virtual void VerifyRenderingInServerForm(System::Web::UI::Control ^ control);
public virtual void VerifyRenderingInServerForm(System.Web.UI.Control control);
abstract member VerifyRenderingInServerForm : System.Web.UI.Control -> unit
override this.VerifyRenderingInServerForm : System.Web.UI.Control -> unit
Public Overridable Sub VerifyRenderingInServerForm (control As Control)

パラメーター

control
Control

HtmlForm コントロールに必要な ASP.NET サーバー コントロール。

例外

指定されたサーバー コントロールは、実行時に HtmlForm サーバー コントロールの開始タグと終了タグの間に含まれていません。

確認するコントロールが null。

例

次のコード例では、カスタム サーバー コントロールの Page.Render メソッドをオーバーライドします。 このコントロールは、コンテンツをページに書き込むときに、 VerifyRenderingInServerForm メソッドを使用して、 HtmlForm コントロールの開始タグと終了タグの間にコントロールが表示されるようにします。

// Override the Render method to ensure that this control
// is nested in an HtmlForm server control, between a <form runat=server>
// opening tag and a </form> closing tag.
protected override void Render(HtmlTextWriter writer) {
    // Ensure that the control is nested in a server form.
    if (Page != null) {
        Page.VerifyRenderingInServerForm(this);
    }
    base.Render(writer);
}
' Override the Render method to ensure that this control
' is nested in an HtmlForm server control, between a <form runat=server>
' opening tag and a </form> closing tag.
Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)

    ' Ensure that the control is nested in a server form.
    If Not (Page Is Nothing) Then
        Page.VerifyRenderingInServerForm(Me)
    End If

    MyBase.Render(writer)

End Sub

注釈

タグの内側 <form runat=server> 必要なコントロールは、レンダリング前にこのメソッドを呼び出して、タグの外側に配置された場合にエラー メッセージが表示されるようにすることができます。 ポスト バックまたは登録済みのスクリプト ブロックに依存するコントロールは、 Control.Render メソッドのオーバーライドでこのメソッドを呼び出す必要があります。 サーバー フォーム要素のレンダリング方法が異なるページでは、このメソッドをオーバーライドして、異なる条件下で例外をスローできます。

クライアント側スクリプトをポストバックまたは使用するサーバー コントロールは、 HtmlForm サーバー コントロール (<form runat="server">) タグで囲まれていない場合は機能しません。 これらのコントロールは、レンダリング時にこのメソッドを呼び出して、 HtmlForm コントロールで囲まれていない場合に明確なエラー メッセージを表示できます。

カスタム サーバー コントロールを開発するときは、任意の種類の入力タグに対して Render メソッドをオーバーライドするときに、このメソッドを呼び出すのが一般的です。 これは、入力コントロールが GetPostBackEventReferenceを呼び出す場合、またはクライアント スクリプトを出力する場合に特に重要です。 複合サーバー コントロールでは、この呼び出しを行う必要はありません。

適用対象