none
o Mesmo Web User Control sendo carregado dinâmico mais de uma vez RRS feed

  • Pergunta

  • Srs,

    estou com um problema que é o seguinte. Na minha pagina Aspx eu preciso carregar o mesmo user contro mais de uma vez dinamicamente. Só que ele so exibe o primeiro user contro que eu adicionei. Estou usando o seguinte método para carregar os Web User controls.

     Dim oWucAbaItemTreino As wucAbaItemTreino = LoadControl("\wucAbaItemTreino.ascx")
     Dim divTab As New HtmlGenericControl
     divTab.TagName = "div"
     divTab.Attributes("id") = String.Format("tabs-{0}", pTreino.Numero)
     divTab.Controls.Add(oWucAbaItemTreino)

    Alguém saberia porque isto ocorre?

    sexta-feira, 24 de agosto de 2012 13:16

Respostas

  • Srs,

    eu descobri o problema. Por algum motivo quando eu adicionava os WUC em uma div dinamica e depois estas em uma ja existente. O VSTD em vez de adicionar essa nova div dinamica dentro da div principal ele adicionava na ateriormente criada. Tive que tirar a funcionalidade de criar as divs dinamicas e colocar fixa no codigo. Engraçado que esse comportamente so ocorre quando dentro de WUC tiver um panel. Quando eu o tirava do WUC o VSTO adicionava no local correto a nova div criada.

    • Marcado como Resposta Thiago Gambarra segunda-feira, 27 de agosto de 2012 16:45
    segunda-feira, 27 de agosto de 2012 16:45

Todas as Respostas

  • Tucão eu consegui desta forma:

    Dim oWucAbaItemTreino As WebUserControl1 = LoadControl("\WebUserControl1.ascx")   

     oWucAbaItemTreino.ID = "Teste" 

     Panel1.Controls.Add(oWucAbaItemTreino)   

    Dim oWucAbaItemTreino2 As WebUserControl1 = LoadControl("\WebUserControl1.ascx")     

    oWucAbaItemTreino2.ID = "Teste2"   

    Panel1.Controls.Add(oWucAbaItemTreino2)


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

    sexta-feira, 24 de agosto de 2012 14:00
  • onde vc está carregando?

    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    sexta-feira, 24 de agosto de 2012 14:09
    Moderador
  • Seilor,

    já tentei no PageLoad, no Init e até no PreInit mas nada. Debugando vejo que foi adicionado mas visualmente some.


    sexta-feira, 24 de agosto de 2012 14:18
  • Janderson,

    eu já tentei mudar o Id para cada Web User Control. Mas o mesmo problema ocorre. E o Pior que não estoura nenhum erro, apenas não exibe na pagina. Debugando vejo que foi adicionado mas visualmente some.

    sexta-feira, 24 de agosto de 2012 14:18
  • se for no page load é so vc colocar assim

    if(!ispostback)

          carrega seu ascx


    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    sexta-feira, 24 de agosto de 2012 14:22
    Moderador
  • Eu sempre faço esta validação. É engraçado que isso já funcionou do nada parou de exibir o segundo. 
    sexta-feira, 24 de agosto de 2012 14:42
  • Thiago vc tentou adicionar seu userControl em um placeHolder?

    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    segunda-feira, 27 de agosto de 2012 12:14
    Moderador
  • O que eu acho que você precisa fazer é instanciar duas vezes o user control. E adiciona-los individualmente.

    Outra coisa é que você está instanciando seu controle, o oWucAbaItemTreino, e adicionando ele a outro controle dinâmico, o divTab.

    Você precisa eventualmente adicionar o divTab na página para que ele apareça.


    http://samuelcazelli.blogspot.com/

    segunda-feira, 27 de agosto de 2012 13:08
  • Srs,

    eu descobri o problema. Por algum motivo quando eu adicionava os WUC em uma div dinamica e depois estas em uma ja existente. O VSTD em vez de adicionar essa nova div dinamica dentro da div principal ele adicionava na ateriormente criada. Tive que tirar a funcionalidade de criar as divs dinamicas e colocar fixa no codigo. Engraçado que esse comportamente so ocorre quando dentro de WUC tiver um panel. Quando eu o tirava do WUC o VSTO adicionava no local correto a nova div criada.

    • Marcado como Resposta Thiago Gambarra segunda-feira, 27 de agosto de 2012 16:45
    segunda-feira, 27 de agosto de 2012 16:45