WebPartChrome.RenderPartContents(HtmlTextWriter, WebPart) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 webPart
elementu , 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.