none
Dúvida dropDownList.SelectedValue com LINQ RRS feed

  • Pergunta

  • Bom galera, a situação é a seguinte.

    Tenho uma tabela Categoria( id, descricao).

    Eu listo os itens do dropDownList usando o LINQDataSource ordenados por descricao puxando da tabela Categoria. O texto é a descricao(DataTextField="descricao"), mas o valor é o id(DataValueField="id").

    eu tenho um cadastro (outra Tabela) que armazena o id de Categoria, o que preciso,  é que ao carregar a página o dropDownList já fique com o Selected valor nesse que foi cadastrado.

    Estou tentando com esse código:

    string valor = e.id_Categoria.ToString();
            drpCategoria.SelectedIndex = drpCategoria.Items.IndexOf(drpCategoria.Items.FindByValue(valor));

    porém está me retornando o valor -1, que no dropDownList ele fica selecionado o primeiro item da lista;

    Alguém aí pode me ajudar?

    domingo, 7 de outubro de 2012 14:23

Respostas

Todas as Respostas

  • Boa tarde,

    Mostre como esta o seu método page_load


    Bruno Viegas D. Ribeiro

    Analista Desenvolvedor de Sistemas
    www.brunoviegas.com.br
     

    domingo, 7 de outubro de 2012 15:43
  • Leandro,

    Você já nao tem o código da categoria? Porque ao invés de utilizar a propriedade SelectedIndex você nao utiliza a propriedade SelectedValue passando o código da categoria?


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    • Marcado como Resposta Leandro Guyss sábado, 10 de novembro de 2012 20:11
    segunda-feira, 8 de outubro de 2012 18:30
    Moderador
  • está assim: 

     

     

    private void Page_Load(object sender, EventArgs e)    {      if (User.Identity.IsAuthenticated)        {            try            {                if (!Page.IsPostBack) {                     mostrar();                }            }            catch            {                              btnSalvar.Text = "Proximo";            }        }        else        {            Response.Redirect("~/Default.aspx");                        }    } private void mostrar() { TCCDataContext con = new TCCDataContext(); Empresa e = con.Empresas.First(c=> c.id_User == usuarioLogado()); drpCategoria.SelectedValue = e.id_Categoria.ToString(); lblMensagem.Text = drpCategoria.SelectedValue.ToString() ;

    }


    Andre tentei conforme você falou, porém mesmo assim não me retorna o correto, e no lblMensagem não retorna nada...

    terça-feira, 9 de outubro de 2012 02:23
  • Leandro, 

    Você já fez o debug e viu se o valor que e.id_Categoria esta vindo correto?

    Com o código que você postou acima eu consegui fazer normalmente


    Bruno Viegas D. Ribeiro

    Analista Desenvolvedor de Sistemas
    www.brunoviegas.com.br
     

    terça-feira, 9 de outubro de 2012 11:20