recuperare il tag head

di Marco Leoncini, in asp.net,

da qualche settimana, mi sto dilettando, nei ritagli di tempo, alla realizzazione di un WebControl.
uno dei "problemi" più grossi, era fornire uno stile predefinito, senza che l'utente dovesse preoccuparsi di niente.
in asp.net 1.1 il sistema più semplice è utilizzare gli stili inline, con tutti gli svantaggi del caso.
una soluzione più elegante (non ottimale) potrebbe essere quella di inserire lo stile nel tag head, al fine di agevolare perlomeno il riutilizzo.
a questo fine è necessario recuperare in quelche modo il tag head, la classe Page, da cui ereditano tutte le nostre webform, mantiene una collezione di tutti i controlli inseriti al suo interno, esplorandola troviamo un istanza di ResourceBasedLiteralControl (una classe interna) , un tipo che eredita da literal che contiene dal DOCTYPE al Body.
finalmente ho trovato la mia soluzione :)

LiteralControl lit = (LiteralControl)this.Controls[0]; string litText = lit.Text;
lit.Text = string.Empty;
Regex reg = new Regex("\n");
string[] splittachetipassa = reg.Split(litText);
for(int i = 0; i < splittachetipassa.Length; i++)
{

string text = ((string)splittachetipassa.GetValue(i)).Trim();
if(String.Compare("</head>",text,true) == 0)
{
AggiungiTesto(lit);
}
lit.Text += (string)splittachetipassa.GetValue(i); 
}


con poche operazione recupero la riga prima della chiusare del tag Head, e posso inserire quello che ritengo utile.
presto questo uso concreto :)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese