testo _Setting_ di testo utilizzando FindControl
-
26-09-2019 - |
Domanda
ho bisogno di essere in grado di impostare (che è all'interno di una riga GridView) il testo di una casella di testo per una certa stringa in fase di esecuzione. Ho usato FindControl prima, ma non riesco a capire la sintassi per davvero impostare il valore della casella di testo, piuttosto che solo ottenere. Ecco quello che ho, che non può essere compilato:
((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath"));
sarei grato per qualsiasi aiuto
Grazie
Soluzione
Sarà questo lavoro?
(e.Row.FindControl("txtPath") as TextBox).Text = dataMap.GetString("targetPath");
EDIT: In realtà io come questo è meglio che il mio post originale:
TextBox txtPath = (TextBox)e.Row.FindControl("txtPath");
if(txtPath != null)
txtPath.Text = dataMap.GetString("targetPath");
Altri suggerimenti
Il motivo non lo fa di compilazione è perché sembra che si dispone di una parentesi di chiusura supplementare sul fine della funzione GetString ().
Prova questo:
((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath");
E 'buona norma verificare che il TextBox non è nullo, ma non è necessario.