none
Duvidas com DropDown RRS feed

  • Pergunta

  • Caros, bom dia!

    Tenho 2 dropdown sendi 1 de Categoria e outro de SubCategoria que inicia no load com Enabre=false.

    Quando seleciono o DropDown de Categoria ele habilita e popula o dropdown de subCategoria, porem não muda o selecte do dropdown categoria, sempre fica como selecionado o -- Selecione --.

    vou mostrar o codigo

    PopulaDropDown

        private void PopulaDrodDown()
        {
    
            // Popula o Dropdown de Categoria
            ddlCategoria.DataSource = CategoriaBLL.GetCategoriaByNotParent();
            ddlCategoria.DataTextField = "Nome";
            ddlCategoria.DataValueField = "ID";
            ddlCategoria.DataBind();
            ddlCategoria.Items.Insert(0, new ListItem("-- Selecione --", "0"));
    
            //Popula o Dropdown de Fabricantes
            ddlFabricante.DataSource = FabricantesBLL.GetFabricantesAll();
            ddlFabricante.DataTextField = "Fabricante";
            ddlFabricante.DataValueField = "ID";
            ddlFabricante.DataBind();
            ddlFabricante.Items.Insert(0, new ListItem("-- Selecione --", "0"));
    
            //Popula o Dropdown de Status do Produto
            ddlStatusProduto.DataSource = StatusProdutoBLL.GetStatusProdutoAll();
            ddlStatusProduto.DataTextField = "StatusProduto";
            ddlStatusProduto.DataValueField = "ID";
            ddlStatusProduto.DataBind();
            ddlStatusProduto.Items.Insert(0, new ListItem("-- Selecione --", "0"));
        }

    e o evento que popula o dropdown de subcategoria

        protected void ddlCategoria_SelectedIndexChanged(object sender, EventArgs e)
        {
            ddlSubCategoria.DataSource = CategoriaBLL.GetCategoriaByIDParent(int.Parse(ddlCategoria.SelectedValue));
            ddlSubCategoria.DataTextField = "Nome";
            ddlSubCategoria.DataValueField = "ID";
            ddlSubCategoria.DataBind();
            ddlSubCategoria.Enabled = true;
        }

    Posso escolhe qualquer opção no menu de categoria que apos o postback ele sempre vai manter o selecione como selected.

    Obrigado e aguardo um retorno!


    "Nunca deixe que os outros te subestimen, mas tambem não seja arrogante seja humilde e prove quem é

    quinta-feira, 13 de setembro de 2012 12:51

Respostas

  • Não sei se é isso que ta causando problema, mas de qualquer forma é sempre bom você fazer desta forma:

    if(!IsPostBack)
    {
      ddlSubCategoria.Enabled = false;
      lblValorProdutoPromocional.Visible = false;
      txtValorProdutoPromocional.Visible = false;
      PopulaDrodDown();
      PopulaCheckBox();
    }


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    • Marcado como Resposta Atila Rampazo quinta-feira, 13 de setembro de 2012 13:29
    quinta-feira, 13 de setembro de 2012 13:23

Todas as Respostas

  • Atila, Bom dia

    Como esta o seu metodo page load?


    Bruno Viegas D. Ribeiro

    Nunca abandone sua thread!
    - Se alguma resposta resolveu seu problema marque-a como resposta para que possa ajudar outras pessoas.
    - Se a resposta não resolveu, mas ajudou a você chegar a sua resposta Marque-a como útil.

    quinta-feira, 13 de setembro de 2012 12:59
  •     protected void Page_Load(object sender, EventArgs e)
        {
            ddlSubCategoria.Enabled = false;
            lblValorProdutoPromocional.Visible = false;
            txtValorProdutoPromocional.Visible = false;
            PopulaDrodDown();
            PopulaCheckBox();
        }


    "Nunca deixe que os outros te subestimen, mas tambem não seja arrogante seja humilde e prove quem é

    quinta-feira, 13 de setembro de 2012 13:20
  • Não sei se é isso que ta causando problema, mas de qualquer forma é sempre bom você fazer desta forma:

    if(!IsPostBack)
    {
      ddlSubCategoria.Enabled = false;
      lblValorProdutoPromocional.Visible = false;
      txtValorProdutoPromocional.Visible = false;
      PopulaDrodDown();
      PopulaCheckBox();
    }


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    • Marcado como Resposta Atila Rampazo quinta-feira, 13 de setembro de 2012 13:29
    quinta-feira, 13 de setembro de 2012 13:23
  • protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ddlSubCategoria.Enabled = false;
            lblValorProdutoPromocional.Visible = false;
            txtValorProdutoPromocional.Visible = false;
            PopulaDrodDown();
            PopulaCheckBox();
        }
    }
    faça assim
    • Editado Bruno VD Ribeiro quinta-feira, 13 de setembro de 2012 13:23 Adicionar informação
    quinta-feira, 13 de setembro de 2012 13:23
  • Era isso mesmo vlw pessoal!

    "Nunca deixe que os outros te subestimen, mas tambem não seja arrogante seja humilde e prove quem é

    quinta-feira, 13 de setembro de 2012 13:29
  • Aproveitando essa  thread, nao sei se há necessidade de abrir uma nova Thread, eu utilizei update panel no controle de cadastro para nao ficar dando postback na pagina inteira, porem quando subi ele para o servidor de validação o mesmo não funcionou.

    Já to achando que o servidor q é um lixo, pq tudo q eu faço nao funciona nele, tinha feito um rewrite por global.asax mais la nao funcionou nem com reza braba rsrsrs


    "Nunca deixe que os outros te subestimen, mas tambem não seja arrogante seja humilde e prove quem é

    quinta-feira, 13 de setembro de 2012 13:32
  • Olha só tuco, pode ser outro problema, você tem outros scripts na página?

    No browser não acusa nenhum erro de JavaScript?


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    quinta-feira, 13 de setembro de 2012 13:34
  • Mais então, creio que não, pois quando rodo localmente funciona normal o updatepanel e talz, mais quando subo para o servidor de validação nao funciona, ele da postback na pagina inteira!

    "Nunca deixe que os outros te subestimen, mas tambem não seja arrogante seja humilde e prove quem é

    quinta-feira, 13 de setembro de 2012 13:42