Usuário com melhor resposta
Preencher valores do linq em textbox's

Pergunta
-
Seguinte galera, estou fazendo uma consulta no banco de Dados que retorna até 5 itens "strings" mas pode retornar 1, 2, 3 e etc... tenho 5 textboxs aqui na minha página, tenho que preenche-los de acordo com meu retorno, porém o meu xefe disse que meu código ta muito feio, e realmente tá, alguém tem uma solução ai por favor? vou postar ocmo fiz no codebehin e no asp.net vlw.
asp.net
<table> <tr> <td style="width: 40px"> <asp:TextBox Width="30px" ID="textBoxPrazoEnvio1" runat="server" ValidationGroup="group"></asp:TextBox> </td> <td style="width: 40px"> <asp:TextBox Width="30px" ID="textBoxPrazoEnvio2" runat="server" ValidationGroup="group"></asp:TextBox> </td> <td style="width: 40px"> <asp:TextBox Width="30px" ID="textBoxPrazoEnvio3" runat="server" ValidationGroup="group"></asp:TextBox> </td> <td style="width: 40px"> <asp:TextBox Width="30px" ID="textBoxPrazoEnvio4" runat="server" ValidationGroup="group"></asp:TextBox> </td> <td style="width: 40px"> <asp:TextBox Width="30px" ID="textBoxPrazoEnvio5" runat="server" ValidationGroup="group"></asp:TextBox> </td> <td style="width: 135px"> </td> <td> <asp:TextBox ID="textBoxPrazoRecuperarDados" Width="80px" runat="server"></asp:TextBox> </td> </tr> </table>
codebehin
private void CarregarTextBox() { wcf_ROP.Parametro.EstruturaParametro estruturaParametro = null; wcf_ROP.Parametro.ParametroClient wcfParametro = null; try { estruturaParametro = new wcf_ROP.Parametro.EstruturaParametro(); wcfParametro = new wcf_ROP.Parametro.ParametroClient(); estruturaParametro = wcfParametro.ListarParametros(0, descricaoCincoCombos, null, null); if (estruturaParametro.IndicadorErro == 0 && estruturaParametro.Parametros.Length > 0) { var result = estruturaParametro.Parametros.OrderBy(p => Convert.ToInt32(p.ConteudoParamentro)).ToList(); if (estruturaParametro.Parametros.Length >= 1) textBoxPrazoEnvio1.Text = result[0].ConteudoParamentro == null ? string.Empty : result[0].ConteudoParamentro; if (estruturaParametro.Parametros.Length >= 2) textBoxPrazoEnvio2.Text = result[1].ConteudoParamentro == null ? string.Empty : result[1].ConteudoParamentro; if (estruturaParametro.Parametros.Length >= 3) textBoxPrazoEnvio3.Text = result[2].ConteudoParamentro == null ? string.Empty : result[2].ConteudoParamentro; if (estruturaParametro.Parametros.Length >= 4) textBoxPrazoEnvio4.Text = result[3].ConteudoParamentro == null ? string.Empty : result[3].ConteudoParamentro; if (estruturaParametro.Parametros.Length == 5) textBoxPrazoEnvio5.Text = result[4].ConteudoParamentro == null ? string.Empty : result[4].ConteudoParamentro; } else Master.Mensagem = new MB.RUF.InterfacePadrao.Mensagem.Mensagem(TipoMensagem.Erro, string.Format("{0} - {1}", estruturaParametro.CodigoErro, estruturaParametro.DescricaoErro)); } catch (Exception ex) { Master.Mensagem = new MB.RUF.InterfacePadrao.Mensagem.Mensagem(TipoMensagem.Notificacao, ex.Message); } finally { if (wcfParametro != null && wcfParametro.State == System.ServiceModel.CommunicationState.Opened) wcfParametro.Close(); wcfParametro = null; estruturaParametro = null; } }
Funciona, mas ele quer que eu ponha usando um foreach com controlfind e etc... nao sei como fazer, alguém ai sabe? abras
Respostas
-
- Sugerido como Resposta Giovani Cr sexta-feira, 1 de novembro de 2013 14:05
- Marcado como Resposta Giovani Cr quarta-feira, 6 de novembro de 2013 17:02
Todas as Respostas
-
Nossa rs, supondo que você tem sua variável já carregada no linq faz assim :
//supondo que se chama list seu retorno do linq int cont = 1; foreach (var item in lista) { TextBox txt = this.FindControl("txtPrazoEnvio"+cont) as TextBox; txt.Text = item.ToString(); cont++; }
- Sugerido como Resposta Daniel Brito br terça-feira, 29 de outubro de 2013 16:44
-
-
-
- Sugerido como Resposta Giovani Cr sexta-feira, 1 de novembro de 2013 14:05
- Marcado como Resposta Giovani Cr quarta-feira, 6 de novembro de 2013 17:02