Pregunta

Al agregar una plantilla de elemento de edición de cierta complejidad (múltiples campos en una plantilla) y luego analizar los controles del evento RowUpdating, los controles que el usuario ingresó manualmente no tienen valores. Supongo que ocurre algo cuando los datos están vinculados, pero tuve instancias en las que simplemente agregar y atribuir un control en el código comenzó el comportamiento y eliminar ese código hizo que el código funcionara. Como alternativa, puedo solicitar (controlname.UniqueId) para obtener su valor, pero eso es más bien un hack.

Editar Cuando accedo al valor como tal

TextBox txtValue = gvwSettings.SelectedRow.FindControl("txtValue") as TextBox;

se encuentra el cuadro de texto, pero el .Texto no es la entrada del usuario.

¿Fue útil?

Solución

¿Desactivó ViewState? ¿Añadiste control programáticamente en la plantilla? Si es así, ¿los creaste en la etapa correcta?

Otros consejos

Debería poder usar GridViewUpdateEventArgs para recuperar el valor ingresado, por ejemplo:

TextBox txtValue = gvwSettings.SelectedRow.FindControl("txtValue") as TextBox;

He usado esa sintaxis antes y funciona como un encanto.

Se ha movido la vinculación de datos posterior a la página_Init

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top