Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Manu69

Problemas com TextBox e GridView

Recommended Posts

E ae "garotos(as) de programa" !

 

Tenho um problema e acho que pdoem me ajudar !

 

Tenho 1 textbox exibindo valores de um gridView e, ao modificar o valor do textbox, quando peço pra pegar o valor dele ele me retorna o valor antigo do mesmo !

 

Como fazer para trazer o valor "atual" do TextBox ?

 

Ex do código:

 

- Página -

 

<asp:TemplateField HeaderText="Percentual %">
  <ItemStyle Width="30px" />
     <ItemTemplate>
        <asp:TextBox ID="TextBox1" runat="server" Text='<%#Bind("Percentual") %>' Width="20" MaxLength="6"></asp:TextBox>
     </ItemTemplate>
</asp:TemplateField>

 

- Code Behind ao clicar em atualizar -

 

foreach (GridViewRow linha in GridView1.Rows)
			{
				if (linha.RowType == DataControlRowType.DataRow)
				{
					parcelaTemp.Parcela = int.Parse(linha.Cells[0].Text);
					Control ctr = linha.FindControl("TextBox1");
					if (ctr != null)
					{
						string abc = ((TextBox)ctr).Text;
						parcelaTemp.Percentual = int.Parse(abc);
						// porém me retorna o valor antigo do TextBox1 ! Pq ?
					}
				}
			}

 

Tks !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications

 

Provavelmente você esta setando o valor desse TextBox dentro do Page_Load.

Coloque a condição:

if(!IspostBack)
{
  //Seu código
}

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pelo help, mas o código está dentro de um botão:

 

protected void btnSalvar_Click(object sender, EventArgs e)
{

foreach (GridViewRow linha in GridView1.Rows)
			{
				if (linha.RowType == DataControlRowType.DataRow)
				{
					parcelaTemp.Parcela = int.Parse(linha.Cells[0].Text);
					Control ctr = linha.FindControl("TextBox1");
					if (ctr != null)
					{
						string abc = ((TextBox)ctr).Text;
						parcelaTemp.Percentual = int.Parse(abc);
						// porém me retorna o valor antigo do TextBox1 ! Pq ?
					}
				}
			}
}
Não está no Load da página...

 

Os dados são carregados com sucesso do gridview peo textbox, porém digito um novo valor no campo e clico no botão atualizar e ele pega o valor antigo do textbox e não o que eu alterei...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.