none
Itens de um dropdown.. RRS feed

  • Pergunta

  • PessoALL, tenho uma dúvida que sem dúvida é dificil de explica a vc's...
    estou desenvolvendo o meu trabalho web com C# + asp
    então esta assim, tenho uma pagina de cadastro na qual deve-se se selecionar itens de determinado dropdown
    para tal estou fazendo no Page_Load o seguinte método: clsBanco.listarCursos(dpdownCurso);
    o listarCursos da clsBanco é isso:

     static
     public
     void
     listarCursos(DropDownList x)
        {
            try
    
            {
                SqlConnection con = new
     SqlConnection();
                con.ConnectionString = StrConexao;
                string
     strPegaCursos = "select descricao from curso"
    ;
                con.Open();
                SqlCommand cmd = new
     SqlCommand(strPegaCursos, con);
                SqlDataReader dr = cmd.ExecuteReader();
                string
     curso;
                while
     (dr.Read())
                {
                    curso = (string
    )dr["descricao"
    ];
                    x.Items.Add(curso);
                }
                con.Close();
            }
            catch
    
            {
                //return false;
    
            }
        }
    


    agora o problema é o seguinte: vamos supor que hajam somente dois cursos cadastrados:

    1 - Sistemas de Informação
    2 - Engenharia

    só que cada vez que ele clicar em QUALQUER BOTÃO, e a páguina fazer aquele "reload"
    além do listarCursos ser executado novamente e eu ter na lista

    1 - Sistemas de Informação
    2 - Engenharia
    1 - Sistemas de Informação
    2 - Engenharia

    a index do item que ele selecionou eh desmarcada ex: se selecionou "2 - Engenharia" após clicar em algum botão vai para "1 - Sistemas de Informação"

    então resolvi colocar no início do método
    x.dispose()..
    x.items.clear()...
    x.....
    x....
    x....
    jah tentei de tudo, o x.Items.Clear() funciona PORÉM quando na pagina não importal qual o item seleciona o dropdown não o seleciona só seleciona o primeiro...
    =//


    desde já agradeço
    domingo, 10 de maio de 2009 22:56

Respostas

  • Mauricio,

    Antes de chamar o método listarCursos no Page_Load, verique se isPostBack é falso, pois se verdadeiro, que dizer que você deu algum 'reload' na página. Ex.:

    if(!isPostBack)
      clsBanco.listarCursos(dpdownCurso);

    Assim, você evitará outros problemas relacionados ao item selecionado e coisas do gênero durante a execução da página.

    (at. http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx )

    Att,
    Paulo R. Pereira - Obs.: Se a resposta foi útil não se esqueça de marcar. Obrigado!
    • Sugerido como Resposta Paulo R. Pereira segunda-feira, 11 de maio de 2009 01:14
    • Marcado como Resposta Mauricio.nik segunda-feira, 11 de maio de 2009 01:44
    segunda-feira, 11 de maio de 2009 01:14

Todas as Respostas

  • Mauricio,

    Antes de chamar o método listarCursos no Page_Load, verique se isPostBack é falso, pois se verdadeiro, que dizer que você deu algum 'reload' na página. Ex.:

    if(!isPostBack)
      clsBanco.listarCursos(dpdownCurso);

    Assim, você evitará outros problemas relacionados ao item selecionado e coisas do gênero durante a execução da página.

    (at. http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx )

    Att,
    Paulo R. Pereira - Obs.: Se a resposta foi útil não se esqueça de marcar. Obrigado!
    • Sugerido como Resposta Paulo R. Pereira segunda-feira, 11 de maio de 2009 01:14
    • Marcado como Resposta Mauricio.nik segunda-feira, 11 de maio de 2009 01:44
    segunda-feira, 11 de maio de 2009 01:14
  • Mauricio,

    Antes de chamar o método listarCursos no Page_Load, verique se isPostBack é falso, pois se verdadeiro, que dizer que você deu algum 'reload' na página. Ex.:

    if(!isPostBack)
      clsBanco.listarCursos(dpdownCurso);

    Assim, você evitará outros problemas relacionados ao item selecionado e coisas do gênero durante a execução da página.

    (at. http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx  )

    Att,
    Paulo R. Pereira - Obs.: Se a resposta foi útil não se esqueça de marcar. Obrigado!

    nusss... deu certo ^^
    vlw...
    \o
    segunda-feira, 11 de maio de 2009 01:44