次の方法で共有


WebPartChrome.RenderPartContents(HtmlTextWriter, WebPart) メソッド

定義

ヘッダーおよびフッターを除いた WebPart コントロールのメインの内容表示領域を表示します。

protected:
 virtual void RenderPartContents(System::Web::UI::HtmlTextWriter ^ writer, System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
protected virtual void RenderPartContents (System.Web.UI.HtmlTextWriter writer, System.Web.UI.WebControls.WebParts.WebPart webPart);
abstract member RenderPartContents : System.Web.UI.HtmlTextWriter * System.Web.UI.WebControls.WebParts.WebPart -> unit
override this.RenderPartContents : System.Web.UI.HtmlTextWriter * System.Web.UI.WebControls.WebParts.WebPart -> unit
Protected Overridable Sub RenderPartContents (writer As HtmlTextWriter, webPart As WebPart)

パラメーター

writer
HtmlTextWriter

HtmlTextWriter の内容を受け取る webPart

webPart
WebPart

現在表示されているコントロール。

次のコード例では、 メソッドの使用方法を RenderPartContents 示します。 この例を実行するために必要な完全なコードについては、クラスの概要に関するトピックの「例」セクションを WebPartChrome 参照してください。

コード例の次のセクションでは、 メソッドをオーバーライドする方法を RenderPartContents 示します。 オーバーライドされたメソッドは、コントロールの本体のレンダリングをカスタマイズするために 2 つの処理を行 WebPart います。 最初に、コントロールが現在選択されているかどうかを確認し、選択されている場合は文字列を書き込み、内容をレンダリングしません。 次に、コントロールが選択されていない場合、およびコントロールのゾーンが 型 MyZoneの場合、メソッドはコントロールをレンダリングします。 この後者のチェックは、オブジェクトを含WebPartChromeむように設計された特定の種類のWebPartZoneゾーンでコントロールをレンダリングWebPartするためにのみカスタム WebPartChrome クラスを使用できるようにする場合に使用できます。

protected override void RenderPartContents(HtmlTextWriter writer, 
  WebPart part)
{

    if (part == this.WebPartManager.SelectedWebPart)
      HttpContext.Current.Response.Write("<span>Not rendered</span>");
    else
      if(this.Zone.GetType() == typeof(MyZone))
        part.RenderControl(writer);
}
Protected Overrides Sub RenderPartContents _
  (ByVal writer As HtmlTextWriter, ByVal part As WebPart)

  If part Is Me.WebPartManager.SelectedWebPart Then
    HttpContext.Current.Response.Write("<span>Not rendered</span>")
  Else
    If (Me.Zone.GetType() Is GetType(MyZone)) Then
      part.RenderControl(writer)
    End If
  End If

End Sub

ブラウザーで Web ページを読み込む場合は、各コントロールのコンテンツが正常にレンダリングされていることがわかります。 ページをデザイン モード ([表示モード] ドロップダウン リスト コントロールで [デザイン] を選択) に切り替え、いずれかのコントロールを WebPartZone2 というラベルの付いた空のゾーンにドラッグすると、カスタム WebPartChrome オブジェクトが標準ゾーンでのレンダリングに使用されていないため、コントロールの内容は異なる方法でレンダリングされます。 これは、上記のソース コードが原因で、 クラス以外MyZoneの他のゾーンでカスタム WebPartChrome クラスを使用しようとした場合に実現するのと同じ効果です。

注釈

RenderPartContentsメソッドを使用すると、 の本文領域webPartのレンダリングをオーバーライドしながら、ヘッダーとフッターのレンダリングを既定のレンダリングのままにすることができます。

注意 (継承者)

必要に応じて、 メソッドを RenderPartContents(HtmlTextWriter, WebPart) オーバーライドできます。 その場合は、 に必要 webPartなレンダリングカスタマイズを実行し、そのメソッドを RenderControl(HtmlTextWriter) 呼び出すことができます。 また、接続エラーが発生した場合に既定のレンダリングに依存する場合は、最初に基本メソッドを呼び出してから、基本メソッドから返される を writer カスタマイズします。

適用対象

こちらもご覧ください