Pergunta

Ao adicionar um modelo de edição de alguma complexidade (campos Mulitple em um modelo) e, em seguida, analisando os controles do evento RowUpdating, os controles que foram inseridos manualmente pelo usuário não têm valores. Meu palpite é que há algo acontecendo quando os dados estão vinculados, mas tive casos em que simplesmente adicionar e atribuir a um controle no CodeBehind iniciaram o comportamento e a remoção desse código fez o código funcionar. Como subida, posso solicitar (controlname.uniqueid) para obter seu valor, mas isso é um hack.

EditarQuando eu acesso o valor como assim

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

A caixa de texto é encontrada, mas o .Text não é a entrada do usuário.

Foi útil?

Solução

Você desligou o ViewState? Você adicionou controle programaticamente no modelo? Se sim, você os criou no estágio correto?

Outras dicas

Você deve usar o GridViewUpdateEventArgs para recuperar o valor de entrada, por exemplo:

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

Eu já usei essa sintaxe antes e funciona como um charme.

Moveu-se pós-Back-Bind para Page_init

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top