Quest'oggi avevo la necessità di caricare in una pagina ASPX una porzione di HTML prelevata da un file esterno. Dapprima ho provato a leggere il file ed inserirne il contenuto in un Literal. Tuttavia, non mi sembrava una soluzione ottimale, né tantomeno versatile. Allora mi sono armato di pazienza ed ho trovato l'ennesima sorpresa di ASP .NET: la classe Page fornisce il metodo ParseControl, che analizza la stringa passata come argomento e ne restituisce il corrispondente oggetto Control. E' quindi possibile scrivere qualcosa del tipo:
protected void Page_Load(object sender, EventArgs e)
{
Control c = Page.ParseControl("<div id='content' runat='server'><font color='red'>Testo dinamico</font></div>");
PlaceHolder1.Controls.Add(c);
}
Devo ammettere che questo semplice metodo mi ha risolto numerosi problemi…