2010-12-06 21 views
5

que sé ahora normalmente se puede obtener el valor de una entrada de texto usando la siguiente:Obtener valor de texto de entrada desde FindControl

txtName.Text 

Pero debido a mi entrada está dentro de un LoginView estoy usando FindControl como esto:

LoginView1.FindControl("txtComment") 

Esto encontró con éxito la entrada de texto pero devuelve su tipo en lugar del valor. Agregar la función de texto al final no funciona.

Respuesta

7

Pruebe a emitir ese Control a TextBox. FindControl devuelve una Control que no tiene la propiedad Text

TextBox txtName = LoginView1.FindControl("txtComment") as TextBox; 
if (txtName != null) 
{ 
    return txtName.Value; 
} 
+1

Debe tenerse en cuenta que si se un 'TextBox', luego * devuelve * un control que no tiene la propiedad' Text', simplemente sucede que el tipo de la * referencia * no tiene la propiedad. – casperOne

+0

si señor: http://msdn.microsoft.com/en-us/library/ms173105(VS.80).aspx – hunter

+0

Gracias cazador, ¡funcionó muy bien! – daveredfern

2

Ha sido un tiempo desde que utiliza los controles, pero creo que es:

string text = ((TextBox)LoginView1.FindControl("txtComment")).Text; 
Cuestiones relacionadas