none
DropDownList RRS feed

  • Pergunta

  • Pessoal,

                   Preciso de um help de vocês. Tenho um cadastro de pessoa e dois DropDownList, um com o cargo a ser adicionado à pessoa e outro com o setor dela, e esses DropDownList são carregados por meio do DataSource, feito com o Wizard. Minha dúvida é: como eu pego o ID do Cargo e do Setor da pessoa para que eu possa salvar no banco de dados junto com os dados do textbox´s? Obs: Estou usando ASP.NET com C#.

    quinta-feira, 12 de julho de 2012 18:55

Respostas

  • Bom dia Junior,

                 Consegui resolver o problema da seguinte forma: só foi pensar um pouco. No evento do botão Salvar, que salva os dados do formulário, passo o valor dos textbox´s para os atributos do Controller e foi assim que resolve: 

         // cadastrarpessoa = é uma instância da minha classe que contém os atributos, e o IdCargo e IdCelula são atributos, e peguei os valores dos DropDownList, uma vez que defini no DataSource o ID_CARGO e ID_CELULA como Field.

                cadastrarpessoa.IdCargo = Int32.Parse(ddl_cargo_pessoa.SelectedItem.Value);
                cadastrarpessoa.IdCelula = Int32.Parse(ddl_celula_pessoa.SelectedItem.Value);

    Agradeço muito meu amigo suas dicas e vou tentar implementa-las depois como forma de aprendizagem, tanto as duas dicas como a do Wellington Jr.

               
    • Marcado como Resposta Harley Araujo quarta-feira, 18 de julho de 2012 14:00
    sexta-feira, 13 de julho de 2012 13:50

Todas as Respostas

  • vc coloca o load desses dois dropdownlist no (! page.isPostback)

    e vc pega o valor assim

    dropdownlist1.selecteditem.value vc pega o id selecionado

    dropdownlist2.selecteditem.text vc pega o texto selecionado

    vc pode ate fazer assim

    string id1 = dropdownlist1.selecteditem.value


    Junior

    quinta-feira, 12 de julho de 2012 19:51
  • O Marcos você já tentou assim

                //Pega o valor
                string valor = DropDownList2.SelectedValue;
                //Pega o texto que é apresentado
                string Texto = DropDownList2.SelectedItem.Text;

    quinta-feira, 12 de julho de 2012 19:55
    Moderador
  • Nesse caso Júnior, eu passo algum parâmetro ou apenas digo a posição que ele deve pegar?
    sexta-feira, 13 de julho de 2012 03:57
  • Marcos vc não precisa passar nenhum parametro esse comando pega o item selecionado, agora como boa prática para vc fazer com que o usuário selecione uma opção vc cria uma --- selecione uma opção -- e o value dela vc seta para zero(0) e ai vc testa se o valor for = 0 vc pede para o usuário selecionar uma opção, vc configura isso assim no aspx

    <asp:DropDownList ID="ddlassunto" runat="server" AppendDataBoundItems="True">
                                <asp:ListItem Value="0">--- Assunto ---</asp:ListItem>
                            </asp:DropDownList>

    onde vc pega o valor no codebehind(C#)

    string assunto = ddlassunto.SelectedItem.Value;
    
    if(assunto == "0")
    {  
       ClientScript.RegisterClientScriptBlock(this.GetType(), "focus", "<script language=javascript>alert('Informe um assunto)</script>");
     ddlassunto.focus();
                        return;
    
    }


    Junior

    sexta-feira, 13 de julho de 2012 11:33
  • Bom dia Junior,

                 Consegui resolver o problema da seguinte forma: só foi pensar um pouco. No evento do botão Salvar, que salva os dados do formulário, passo o valor dos textbox´s para os atributos do Controller e foi assim que resolve: 

         // cadastrarpessoa = é uma instância da minha classe que contém os atributos, e o IdCargo e IdCelula são atributos, e peguei os valores dos DropDownList, uma vez que defini no DataSource o ID_CARGO e ID_CELULA como Field.

                cadastrarpessoa.IdCargo = Int32.Parse(ddl_cargo_pessoa.SelectedItem.Value);
                cadastrarpessoa.IdCelula = Int32.Parse(ddl_celula_pessoa.SelectedItem.Value);

    Agradeço muito meu amigo suas dicas e vou tentar implementa-las depois como forma de aprendizagem, tanto as duas dicas como a do Wellington Jr.

               
    • Marcado como Resposta Harley Araujo quarta-feira, 18 de julho de 2012 14:00
    sexta-feira, 13 de julho de 2012 13:50
  • O importante é que vc resolveu.

    Junior

    sexta-feira, 13 de julho de 2012 14:55