次の方法で共有


Page.VerifyRenderingInServerForm メソッド

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

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

構文

'宣言
Public Overridable Sub VerifyRenderingInServerForm ( _
    control As Control _
)
'使用
Dim instance As Page
Dim control As Control

instance.VerifyRenderingInServerForm(control)
public virtual void VerifyRenderingInServerForm (
    Control control
)
public:
virtual void VerifyRenderingInServerForm (
    Control^ control
)
public void VerifyRenderingInServerForm (
    Control control
)
public function VerifyRenderingInServerForm (
    control : Control
)
適用できません。

パラメータ

  • control
    HtmlForm コントロール内に配置する必要がある ASP.NET サーバー コントロール。

例外

例外の種類 条件

HttpException

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

ArgumentNullException

検証するコントロールが null 参照 (Visual Basic では Nothing) です。

解説

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

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

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

使用例

カスタム サーバー コントロールの 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 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
// 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 void Render(HtmlTextWriter writer)
{
    // Ensure that the control is nested in a server form.
    if (get_Page() != null) {
        get_Page().VerifyRenderingInServerForm(this);
    }
    super.Render(writer);
} //Render

プラットフォーム

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

参照

関連項目

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