Udostępnij za pośrednictwem


WebPartChrome.RenderPartContents(HtmlTextWriter, WebPart) Metoda

Definicja

Renderuje główny obszar zawartości kontrolki WebPart z wyłączeniem nagłówka i stopki.

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)

Parametry

writer
HtmlTextWriter

Element HtmlTextWriter , który odbiera webPart zawartość.

webPart
WebPart

Kontrolka jest obecnie renderowana.

Przykłady

W poniższym przykładzie kodu pokazano użycie RenderPartContents metody . Pełny kod wymagany do uruchomienia przykładu można znaleźć w sekcji Przykład tematu WebPartChrome przeglądu klasy.

W poniższej sekcji z przykładu kodu pokazano, jak zastąpić metodę RenderPartContents . Metoda przesłonięć wykonuje dwie czynności, aby dostosować renderowanie dla treści kontrolki WebPart . Najpierw sprawdza, czy kontrolka jest aktualnie zaznaczona, a jeśli tak, zapisuje ciąg i nie renderuje zawartości. Po drugie, jeśli kontrolka nie jest zaznaczona, a jeśli strefa kontrolki jest typu MyZone, metoda renderuje kontrolkę. Tego ostatniego sprawdzenia można użyć, jeśli chcesz upewnić się, że klasa niestandardowa WebPartChrome może służyć tylko do renderowania WebPart kontrolek w określonym typie WebPartZone strefy, która ma zawierać WebPartChrome obiekt.

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

Jeśli załadujesz stronę internetową w przeglądarce, możesz zobaczyć, że zawartość każdej kontrolki jest renderowana normalnie. Jeśli przełączysz stronę do trybu projektowania (wybierając pozycję Projekt w kontrolce listy rozwijanej Tryb wyświetlania ) i przeciągnij jedną z kontrolek do pustej strefy z etykietą WebPartZone2, zawartość kontrolki jest renderowana inaczej, ponieważ obiekt niestandardowy WebPartChrome nie jest używany do renderowania w strefie standardowej. Jest to ten sam efekt, który można osiągnąć, jeśli próbowano użyć klasy niestandardowej WebPartChrome z dowolną inną strefą poza MyZone klasą, ze względu na powyższy kod źródłowy.

Uwagi

Metoda RenderPartContents umożliwia zastąpienie renderowania obszaru treści elementu webPart, pozostawiając renderowanie nagłówka i stopki do domyślnego renderowania.

Uwagi dotyczące dziedziczenia

Opcjonalnie można zastąpić metodę RenderPartContents(HtmlTextWriter, WebPart) . Jeśli tak, możesz po prostu wykonać dowolne dostosowania renderowania dla webPartelementu , a następnie wywołać jego RenderControl(HtmlTextWriter) metodę. Jeśli chcesz również polegać na domyślnym renderowaniu w przypadku błędów połączenia, najpierw wywołaj metodę podstawową, a następnie dostosuj writer zwracaną z metody podstawowej.

Dotyczy

Zobacz też