none
Dropdownlist aninhados ??? RRS feed

  • Pergunta

  • Boa tarde pessoal,

    Estou com um problema de performance que é o seguinte, nesses dropdownlist estou fazendo o bind no !page.ispostback
    entretanto tem 3 deles que são preenchido dependendo do que for selecionado no dropdown vai dando postback
    entretanto está muito lento  e pisca a tela a cada seleção do dropdown, quando tentei usar o UpdatePanel a lentidão continua embora não pisca mais a tela

    até o internet explorer aparece uma mensagem que a lentidão é devido um script que está sendo executado.

    Algúem tem um exemplo ou um post de como posso contornar isso já customezei bem o select de cada dropdown mas é muita informação em cada combo mesmo.

    Desde já agradeço.


    Adriano_SP

    sexta-feira, 27 de abril de 2012 17:43

Respostas

  • Olá,

    Experimente utilizar o CascadingDropDown do Ajax.

    http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx


    Ney Limonge http://www.regclin.com/

    • Marcado como Resposta Harley Araujo quarta-feira, 2 de maio de 2012 15:11
    segunda-feira, 30 de abril de 2012 01:35
  • Quando se trata de muita informação, o que nos resta é particionar a informação ou otimizar as consultas. Você precisa otimizar tudo que seja relacionado a utilização de memória e o SQL.

    Tratando do SQL, certifique-se que as tabelas possuem chave primaria e estrangeiras (se necessário) e indexação. Se as querys exigirem muitas JOINS, deixe o trabalho de realizar estas joins para o SGBD, então crie VIEWS e no seu projeto apenas faça um Select;

    Tratando da aplicação, não use LIST ou DataSet para armazenar os resultados. Use LINQ ou uma DataTable diretamente. Não crie um .XSD, faça a query de Select diretamente no Code-behind e atribua o resultado diretamente ao DataSource da DropDownList.

    Vê se vai!


    Rafael Santos
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto


    • Editado Rafa Santos sexta-feira, 27 de abril de 2012 20:11
    • Marcado como Resposta Harley Araujo quarta-feira, 2 de maio de 2012 15:11
    sexta-feira, 27 de abril de 2012 20:10

Todas as Respostas

  • Quando se trata de muita informação, o que nos resta é particionar a informação ou otimizar as consultas. Você precisa otimizar tudo que seja relacionado a utilização de memória e o SQL.

    Tratando do SQL, certifique-se que as tabelas possuem chave primaria e estrangeiras (se necessário) e indexação. Se as querys exigirem muitas JOINS, deixe o trabalho de realizar estas joins para o SGBD, então crie VIEWS e no seu projeto apenas faça um Select;

    Tratando da aplicação, não use LIST ou DataSet para armazenar os resultados. Use LINQ ou uma DataTable diretamente. Não crie um .XSD, faça a query de Select diretamente no Code-behind e atribua o resultado diretamente ao DataSource da DropDownList.

    Vê se vai!


    Rafael Santos
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto


    • Editado Rafa Santos sexta-feira, 27 de abril de 2012 20:11
    • Marcado como Resposta Harley Araujo quarta-feira, 2 de maio de 2012 15:11
    sexta-feira, 27 de abril de 2012 20:10
  • Olá,

    Experimente utilizar o CascadingDropDown do Ajax.

    http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx


    Ney Limonge http://www.regclin.com/

    • Marcado como Resposta Harley Araujo quarta-feira, 2 de maio de 2012 15:11
    segunda-feira, 30 de abril de 2012 01:35
  • Seguindo as recomendações dos colegas o problema deve ser resolvido, se possível coloque aqui o código ou mais detalhes sobre o código para darmos uma olhada, o problema pode nem ser seus Drops, talvez uma avaliação de performance pelo Visual Studio ajude a encontrar o centro do problema.


    Rodrigo Reis Ferreira
    Microsoft Certified

    segunda-feira, 30 de abril de 2012 11:13