WebPartChrome.RenderPartContents(HtmlTextWriter, WebPart) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Esegue il rendering dell'area di contenuto principale di un WebPart controllo, escluso l'intestazione e il piè di pagina.
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)
Parametri
- writer
- HtmlTextWriter
Oggetto HtmlTextWriter che riceve il webPart contenuto.
- webPart
- WebPart
Il rendering del controllo attualmente in corso di rendering.
Esempio
Nell'esempio di codice seguente viene illustrato l'uso del RenderPartContents metodo . Per il codice completo necessario per eseguire l'esempio, vedere la sezione Esempio dell'argomento di panoramica della WebPartChrome classe.
Nella sezione seguente dell'esempio di codice viene illustrato come eseguire l'override del RenderPartContents metodo . Il metodo sottoposto a override esegue due operazioni per personalizzare il rendering per il corpo del WebPart controllo. Prima di tutto, verifica se il controllo è attualmente selezionato e, in tal caso, scrive una stringa e non esegue il rendering del contenuto. In secondo luogo, se il controllo non è selezionato e se la zona del controllo è di tipo MyZone, il metodo esegue il rendering del controllo. Questo secondo controllo può essere usato se si desidera assicurarsi che una classe personalizzata WebPartChrome possa essere usata solo per eseguire il rendering WebPart dei controlli in un tipo specifico di WebPartZone zona progettato per contenere l'oggetto 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
Se si carica la pagina Web in un browser, si noterà che il rendering del contenuto di ogni controllo viene eseguito normalmente. Se si passa la pagina in modalità progettazione (selezionando Progettazione nel controllo elenco a discesa Modalità di visualizzazione) e trascinando uno dei controlli nella zona vuota con etichetta WebPartZone2, il rendering del contenuto del controllo viene eseguito in modo diverso, perché l'oggetto personalizzato WebPartChrome non viene usato per il rendering in una zona standard. Questo è lo stesso effetto che si otterrebbe se si tenta di usare la classe personalizzata WebPartChrome con qualsiasi altra zona oltre alla MyZone classe, a causa del codice sorgente precedente.
Commenti
Il RenderPartContents metodo consente di eseguire l'override del rendering dell'area del corpo di webPart, lasciando il rendering dell'intestazione e del piè di pagina al rendering predefinito.
Note per gli eredi
Facoltativamente, è possibile eseguire l'override del RenderPartContents(HtmlTextWriter, WebPart) metodo . In questo caso, è sufficiente eseguire le personalizzazioni di rendering desiderate per webParte quindi chiamare il relativo RenderControl(HtmlTextWriter) metodo. Se si vuole anche basarsi sul rendering predefinito in caso di errori di connessione, chiamare prima il metodo di base e quindi personalizzare l'oggetto writer restituito dal metodo di base.