語言

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 方法。 覆寫的方法有兩個功能來自訂控制本體 WebPart 的渲染。 首先,它會檢查該控制項目前是否被選取,若是,則寫出一個字串,而不會渲染內容。 第二,若未選擇控制,且控制區為類型 MyZone,則該方法會渲染控制。 如果你想確保自訂 WebPartChrome 類別只能用來渲染 WebPart 特定類型的 WebPartZone 區域控制項,而該區域設計用來包含該 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

如果你在瀏覽器中載入網頁,可以看到每個控制項的內容都是正常呈現的。 如果你將頁面切換到設計模式(透過在顯示模式下拉選單控制項中選擇設計),並將其中一個控制項拖入標示為 WebPartZone2 的空白區域,控制項的內容會以不同方式呈現,因為該自訂WebPartChrome物件並未用於標準區域的渲染。 這和你嘗試用自訂 WebPartChrome 類別搭配其他區域 MyZone 時的效果一樣,因為之前的原始碼是一樣的。

備註

此 RenderPartContents 方法允許你覆寫 的 webPart主體區域渲染,同時保留標頭與頁尾的渲染為預設渲染。

給繼承者的注意事項

你可以選擇性地覆蓋這個 RenderPartContents(HtmlTextWriter, WebPart) 方法。 如果是這樣,你可以直接對 做任何渲染 webPart自訂,然後呼叫它的方法 RenderControl(HtmlTextWriter) 。 如果你也想在連線錯誤時依賴預設渲染,先呼叫基礎方法,然後自訂 writer 基礎方法回傳的結果。

適用於

另請參閱