16 messaggi dal 19 febbraio 2002
Qual'è il metodo migliore per impostare a livello di codice una proprietà di un controllo? Ad esempio ho una webform con 10 controlli "hyperlink" come faccio per impostare un valore di default per la proprietà ".NavigateUrl"?

Nino
Beh se questi controlli non li hai creati te a runtime devi fare un ciclo che li cerca in base all'id, tipo
for (int x = 1; x <= 10; x++)
{
HyperLink l = (HyperLink)this.FindControl("controllo" + x);
l.NavigateUrl = "ciccio";
}


Così cerchi i 10 hyperlink di nome controllo1...n e imposti navigateurl a ciccio

Ciao

Il mio blog
Homepage
16 messaggi dal 19 febbraio 2002
Ciao Ricciolo e grazie per la risposta.
10 era solo un esempio. Metti il caso che non sappia quanti controlli ci sono sulla webform. Avevo pensato ad un "for" .. "each" .. ma non riesco ad uscirmene...
tipo ..
dim obj as hyperlink
for each obj in ?? (è quì che non iresco a trovare qualcosa...)

NB
Potresti "parlare" in vb?

Nino
si puoi fare un foreach ma i controlli devono trovarsi tutti nello stesso contenitore, e può essere un problema, oppure fare una ricerva ricorsiva ma le prestazioni, cmq..

Dim c As Control
ForEach c In contenitore.Controls
If c is HyperLink Then CType(c, HyperLink).NavigateUrl = "ciao";
Next



Se invece vuoi farlo ricorsivo devi mettere il tutto in una funzione che riceve il contenitore e per ogni controllo se non è un hyperlink richiamare la funzione, così cerchi in tutta la pagina

Ciao

Il mio blog
Homepage
16 messaggi dal 19 febbraio 2002
Grazie Ricciolo, almeno grazie a te ho risolto anche se non ho capito (confesso i miei limiti) bene se è la migliore soluzione possibile.

=====================
Dim c As Control
For Each c In Me.Controls
If TypeOf obj Is HyperLink Then
CType(obj, HyperLink).NavigateUrl = "........."
End If
Next
=====================
(? ma come si fa a formatter il codice nel forum come fai tu?)


Un'altro concetto che non mi è chiaro è il fatto che hai detto che " i controlli devono trovarsi nello steso "contenitore"
forse non mi è ben chiaro il concetto di "contenitore" ....

Nino
Per formattare usa i tag


Quando la pagina viene parserizzata viene trasformato tutto in controlli in modo gerarchico, questo vuol dire che se inserisci l'hyperlink in una form con controlla lato server, il contenitore sarà la form e non più Me che è la pagina, oppure se lo inserisce nel placeholder, sarà il placeholder oppure in un datagrid sarà la tabella.

Ciao

Il mio blog
Homepage
16 messaggi dal 19 febbraio 2002
ok ... grazie ancora!

Nino

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.