ErrorWebPart クラス
アセンブリ: System.Web (system.web.dll 内)
構文
ErrorWebPart クラスは、Web パーツ コントロール セットによって、ページに追加できなかった WebPart コントロールのプレースホルダとして使用されます。WebPartManager コントロールがゾーンに動的な WebPart コントロールの新しいインスタンスを読み込むか作成する場合に、それが何らかの理由で失敗すると、WebPartManager は CreateErrorWebPart メソッドを呼び出して、失敗したコントロールの代わりに ErrorWebPart コントロールを挿入します。
ErrorWebPart コントロールが挿入されるのは、コントロールに存在する可能性があるユーザーの既存のパーソナル化状態情報を保存するためです。たとえば、パーソナル化できるプロパティを持つ WebPart コントロールで、ユーザーが自分の郵便番号を保存すると、その後ページにアクセスするたびにその郵便番号の地域の気象情報が自動的にコントロールに表示されるとします。いずれかの時点で特定の要求中に気象コントロールを読み込むことができない問題が発生するが、ページのそれ以外の部分は正常に読み込むことができる場合、ユーザーがそのコントロールに保存していたカスタムのパーソナル化データは、次回そのページのパーソナル化データが保存されるときに失われます。失敗したコントロールの代わりに ErrorWebPart コントロールを挿入することによって、ユーザーに問題の発生を通知できます。また、失敗したコントロールでのユーザーのパーソナル化データを、問題が修正できるまで Web パーツ コントロール セットが保存する機構を提供できます。
ErrorWebPart クラスは、他の型の一時プレースホルダとしてデザインされているいくつかの型の 1 つとして、ProxyWebPart クラスから派生します。クラスのインスタンスを作成するために、WebPartManager コントロールは、そのパブリック ErrorWebPart コンストラクタを使用します。コンストラクタは、ID、コントロールの元の型 (失敗したコントロールが GenericWebPart オブジェクトでラップされたサーバー コントロールまたはユーザー コントロールの場合)、コントロールのソース ファイルへの元のパス (失敗したコントロールがユーザー コントロールの場合)、および GenericWebPart オブジェクトの ID (存在する場合) など、失敗したコントロールについていくつかの詳細情報を渡すように要求します。
ErrorWebPart クラスには、ErrorMessage という単一のパブリック プロパティがあります。このプロパティは、コントロールが挿入されるときに Web ページに表示されます。開発者はこのプロパティに値を代入できます。
ErrorWebPart クラスには、3 つのプロテクト メソッドがあります。AddAttributesToRender メソッドは、読み込みに失敗したコントロールを含む WebZone ゾーンの ErrorStyle オブジェクトからスタイル特性を取得します。このオブジェクトにスタイル設定がある場合、メソッドはそれらを ErrorWebPart コントロールに適用します。EndLoadPersonalization メソッドは、いくつかの重要な継承プロパティを ErrorWebPart コントロールに設定します。これは、ユーザーがコントロールの非表示、最小化、編集、またはエクスポートを行うか、またはその ChromeState 値を変更することによってパーソナル化するのを防ぐためです。最後に、RenderContents メソッドは、レンダリングの問題やスクリプト攻撃を防ぐために、ErrorMessage プロパティの文字列の値をエンコードします。
継承時の注意 ErrorWebPart コントロールが実際にページに挿入される状況は比較的まれです。また、クラスを継承して拡張することはできますが、これを重要視する開発者はほとんどいません。このクラスを拡張する理由の 1 つは、ErrorWebPart コントロールの外観および動作をカスタマイズすることです。たとえば、EndLoadPersonalization メソッドをオーバーライドし、既に設定されている以上のスタイル プロパティまたはその他のプロパティを ErrorWebPart コントロールに追加で設定できます。 WebPartManager コントロールにカスタム ErrorWebPart コントロールを使用するように要求するには、さらに WebPartManager クラスから継承し、その CreateErrorWebPart メソッドをオーバーライドする必要があります。WebPartManager コントロールは、このメソッドを他の複数の場所から呼び出し、多くの場合異なるエラー メッセージを渡すので、そのメソッドで errorMessage パラメータの値を、カスタム ErrorWebPart コントロールの ErrorMessage プロパティに代入しておく必要があります。System.Web.UI.Control
System.Web.UI.WebControls.WebControl
System.Web.UI.WebControls.Panel
System.Web.UI.WebControls.WebParts.Part
System.Web.UI.WebControls.WebParts.WebPart
System.Web.UI.WebControls.WebParts.ProxyWebPart
System.Web.UI.WebControls.WebParts.ErrorWebPart
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- ErrorWebPart クラスのページへのリンク