Problema para pegar o valor do objeto dentro de um Repeater

28/11/2017

4

Estou com um problema quando tento pegar o valor do objeto dentro de um Repeater.

Tenho um campo chamado "txtConsumo" dentro do meu repeater, só que quando vou pegar o valor para salvar no DB, ele não pega o valor que foi alterado, não pega o valor que eu digitei. Sempre passa o valor que veio carregado no objeto.

Exemplo:
TextBox txtConsumo = item3.FindControl("txtConsumo") as TextBox;
string itemtxt = txtConsumo.Text;

Nesse caso sempre retorna o valor que veio carregado e não o valor novo que digitei.

Como eu faço para resolver esse problema?



protected void btnConfirm_Click(object sender, EventArgs e)
{
foreach (RepeaterItem item in rLinha.Items)
{
HiddenField hfLinha = item.FindControl("hfLinha") as HiddenField;
IDLinhaTrabalho = hfLinha.Value.ToString();
Repeater rNUtricao = (Repeater)item.FindControl("rNUtricao");

foreach (RepeaterItem item2 in rNUtricao.Items)
{
HiddenField hNutricao = item2.FindControl("hNutricao") as HiddenField;
IDNutricao = hNutricao.Value.ToString();

TextBox txtPadronizacao = item2.FindControl("txtPadronizacao") as TextBox;
Repeater rNUtricaoTipo = (Repeater)item2.FindControl("rNUtricaoTipo");

foreach (RepeaterItem item3 in rNUtricaoTipo.Items)
{
HiddenField hNutricaoTipo = item3.FindControl("hNutricaoTipo") as HiddenField;
IDNutricaoTipo = hNutricaoTipo.Value.ToString();

//string saldo = ((TextBox)((Button)sender).Parent.Parent.FindControl("txtConsumo")).Text;

TextBox txtTipo = item3.FindControl("txtTipo") as TextBox;
TextBox txtConsumo = item3.FindControl("txtConsumo") as TextBox;
TextBox txtUnidadeMedida = item3.FindControl("txtUnidadeMedida") as TextBox;
TextBox txtParticipacaoNutriport = item3.FindControl("txtParticipacaoNutriport") as TextBox;


//TextBox txt = (TextBox)item3.FindControl("txtConsumo");
//string itemtxt = txtConsumo.Text;







if (txtConsumo.Text.ToString() != "")
{
string mensagem = "";
try
{
int IDHospitalPotencial = (new HospitaisDAO()).inserePontencialInstuitcao(IDHospital.ToString(), Int32.Parse(IDLinhaTrabalho), Int32.Parse(IDNutricao), Int32.Parse(IDNutricaoTipo), txtUnidadeMedida.Text.ToString(), txtConsumo.Text.ToString(), txtParticipacaoNutriport.Text.ToString(), Int32.Parse(Session["ID_Ciclo"].ToString()), txtPadronizacao.Text.ToString(), 1);
if (IDHospitalPotencial > 0)
{
mensagem = "Dados salvos com sucesso";
}
else
{
mensagem = "Não foi possivel salvar os dados";
}
}
catch (Exception ex)
{
mensagem = ex.Message;
}
finally
{
ScriptManager.RegisterStartupScript(this, typeof(MPage), "ShowModalHidden", "waitingDialog.hide(); alert('" + mensagem + "'); location.href='Cadastro.aspx?temp=0'", true);
}
}
}
}
}
}
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar