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 :)
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Modificare il controllo TreeView, il 2 dicembre 2008 alle 19:27
- Perfezioniamo il ProfileDataSorce, il 13 ottobre 2008 alle 11:14
- Un DataSource per il Profile, il 10 ottobre 2008 alle 15:06
- TrueSpace 7 gratuito, il 24 luglio 2008 alle 10:59
- adesso dico la mia sull'Iphone, il 22 luglio 2008 alle 10:33
- Come tutto ebbe inizio, il 21 luglio 2008 alle 09:22