DanBlog

Il blog di Daniele Armanasco
posts - 48, comments - 73, trackbacks - 10

ASP.NET - Rendering automatico di uno user control con puro html

Contesto: voglio creare un controllo che generi html "puro" a mia completa discrezione.

Quasi-soluz. 1: creo uno user control contenente solo un literal. Creo un metodo di rendering che costruisce la stringa html e la assegna alla proprietà Text del literal. Se non ho bisogno di settare proprietà dal codice che utilizza lo user control posso richiamare il metodo di rendering sul page load. In caso contrario devo dichiarare come public il metodo di rendering e chiamarlo esplicitamente dal codice utilizzatore dopo aver impostato le proprietà necessarie (magari per definire la sorgente dati).

Soluzione 2: sovrascrivo il metodo di rendering che tutti i controlli utilizzano; in tale metodo genero la stringa html. In questo caso non ho bisogno di definire come pubblico il metodo di rendering e non devo chiamarlo esplicitamente. Inoltre non mi serve il literal (lo user control è vuoto); utilizzo l'oggetto output di tipo HtmlTextWriter.

        protected override void Render(HtmlTextWriter output)
        {
            htmlStringBuilder.Append("            ...
            htmlStringBuilder.Append("

");

 

            output.Write(htmlStringBuilder.ToString());
        }

Print | posted on venerdì 3 agosto 2007 21:40 | Filed Under [ Scoperte di un principiante ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET