次の方法で共有


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 オーバーライドでこのメソッドを呼び出す必要があります。 サーバー フォーム要素のレンダリング方法が異なるページでは、このメソッドをオーバーライドして、異なる条件下で例外をスローできます。

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

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

適用対象