none
Problema com ASP.NET + Ajax RRS feed

  • Pergunta

  • Galera tenho uma aplicação asp.net, recentemente tive necessidades de usar um controle combobox com check box list dentro, pesquisei por alguns controles do tipo até que encontrei o Drop Down CheckBoxList control , fiz a implementação em minhas paginas e funciona normalmente, só que em uma pagina tenho a necessidade de começar com ele invisible, quando seto a propriedade da div que contém esse controle "visible = false" ele da erro: "Erro em tempo de execução do Microsoft JScript: 'DropDownScript' não está definido" e "Erro em tempo de execução do Microsoft JScript: Não é possível obter valor da propriedade 'init': o objeto é nulo ou não definido"

    Alguém tem alguma solução para meu problema ?


    http://luisgustavo12.wordpress.com/

    quinta-feira, 29 de maio de 2014 12:40

Respostas

  • Cara, o problema é que o javascript tá embutido no componente, aí fica difícil avaliar. Pode ser um bug do próprio componente. 
    eu setando como true inicialmente, e depois alterando pra false ele funciona, so que preciso que ele inicie com visible="false", então usei esse método: 
       window.onload = function () {
                document.getElementById("pnlContrato").style.display = 'none';
                document.getElementById("pnlContrato").style.visibility = 'hidden';
            };
    mas ta dando uma rapida visualização dele quando a tela é carregada, por enquanto ta dando pra quebrar o galho, mas vou procurar por mais opções.

    http://luisgustavo12.wordpress.com/

    quinta-feira, 29 de maio de 2014 14:22

Todas as Respostas

  • Quando você coloca o componente com o visible=false, ele não renderiza. No seu javascript, ele pode estar tentando achar essa div, porém, como não acha, ele retorna nulo.
    quinta-feira, 29 de maio de 2014 12:55
  • Quando você coloca o componente com o visible=false, ele não renderiza. No seu javascript, ele pode estar tentando achar essa div, porém, como não acha, ele retorna nulo.
    tentei fazer isso tanto com div quanto com asp:panel, e os dois dão o mesmo erro, qual seria uma solução.

    http://luisgustavo12.wordpress.com/

    quinta-feira, 29 de maio de 2014 12:58
  • Coloca seu código aqui pra eu dar uma olhada.
    quinta-feira, 29 de maio de 2014 13:01
  • Coloca seu código aqui pra eu dar uma olhada.
      <asp:Panel ID="pnlContrato" runat="server" visible="false">
                                                        <My:ucRelatorios ID="instUcRelatorios" runat="server" OnControlaEstadoCamposRelatorio="instUcRelatorios_ControlaEstadoCamposRelatorio" />
                                                    </asp:Panel>

    o controle sitado está em um user control, quando tento setar esse asp panel ou div como visible = "false" ele da o erro sitado,

    no user control o controle é o seguinte:

    <asp:DropDownCheckBoxes ID="dcbTipoCentroCusto" runat="server" AddJQueryReference="True"
                                UseButtons="False" UseSelectAllNode="False" Enabled="False" OnSelectedIndexChanged="dcbTipoCentroCusto_SelectedIndexChanged"
                                Font-Bold="False" Font-Names="Monospace" CssClass="labelControlMenor" 
                                Font-Size="8pt">
                                <Style SelectBoxCssClass="labelControlMenor" SelectBoxWidth="40" DropDownBoxBoxWidth="380"
                                    DropDownBoxBoxHeight=""></Style>
                                <Texts SelectBoxCaption="&nbsp;..." />
                            </asp:DropDownCheckBoxes>


    http://luisgustavo12.wordpress.com/


    • Editado GuSouza quinta-feira, 29 de maio de 2014 13:11
    quinta-feira, 29 de maio de 2014 13:07
  • Coloca seu código aqui pra eu dar uma olhada.

      <asp:Panel ID="pnlContrato" runat="server" visible="false">
                                                        <My:ucRelatorios ID="instUcRelatorios" runat="server" OnControlaEstadoCamposRelatorio="instUcRelatorios_ControlaEstadoCamposRelatorio" />
                                                    </asp:Panel>

    o controle sitado está em um user control, quando tento setar esse asp panel ou div como visible = "false" ele da o erro sitado,

    no user control o controle é o seguinte:

    <asp:DropDownCheckBoxes ID="dcbTipoCentroCusto" runat="server" AddJQueryReference="True"
                                UseButtons="False" UseSelectAllNode="False" Enabled="False" OnSelectedIndexChanged="dcbTipoCentroCusto_SelectedIndexChanged"
                                Font-Bold="False" Font-Names="Monospace" CssClass="labelControlMenor" 
                                Font-Size="8pt">
                                <Style SelectBoxCssClass="labelControlMenor" SelectBoxWidth="40" DropDownBoxBoxWidth="380"
                                    DropDownBoxBoxHeight=""></Style>
                                <Texts SelectBoxCaption="&nbsp;..." />
                            </asp:DropDownCheckBoxes>


    http://luisgustavo12.wordpress.com/


    quando retiro o visible ="false" na instanciação do controle e seto essa propriedade no code-behind

    ocorre o mesmo erro,

    this.pnlContrato.Visible = false;

    agora quando ele inicia dessa forma:

    this.pnlContrato.Visible = true;

    e depois seta como false ele funciona normalmente sem dar erro nenhum, quando seto ele como false e depois mudo para true ele da pal,


    http://luisgustavo12.wordpress.com/

    quinta-feira, 29 de maio de 2014 13:19
  • Cara, o problema é que o javascript tá embutido no componente, aí fica difícil avaliar. Pode ser um bug do próprio componente. 
    quinta-feira, 29 de maio de 2014 13:59
  • Cara, o problema é que o javascript tá embutido no componente, aí fica difícil avaliar. Pode ser um bug do próprio componente. 
    eu setando como true inicialmente, e depois alterando pra false ele funciona, so que preciso que ele inicie com visible="false", então usei esse método: 
       window.onload = function () {
                document.getElementById("pnlContrato").style.display = 'none';
                document.getElementById("pnlContrato").style.visibility = 'hidden';
            };
    mas ta dando uma rapida visualização dele quando a tela é carregada, por enquanto ta dando pra quebrar o galho, mas vou procurar por mais opções.

    http://luisgustavo12.wordpress.com/

    quinta-feira, 29 de maio de 2014 14:22