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 controllo WebPart, ad eccezione dell'intestazione e del 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 contenuto del controllo webPart
.
- webPart
- WebPart
Controllo di cui viene attualmente eseguito il 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, controlla 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 ultimo 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, è possibile vedere che il 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 nell'area vuota con etichetta WebPartZone2, il rendering del contenuto del controllo viene eseguito in modo diverso, perché l'oggetto personalizzato WebPartChrome non viene utilizzato per il rendering in un'area standard. Si tratta dello 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 tal caso, è sufficiente eseguire le personalizzazioni di rendering desiderate per webPart
e quindi chiamare il relativo RenderControl(HtmlTextWriter) metodo. Se si vuole anche fare affidamento 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.