none
TabContainer com TabPanels dinâmicos RRS feed

  • Pergunta

  • Bom dia.


    Estou tentando criar tab's dinâmicamente utilizando o ajaxtoolkit no mvc 2 asp.net.

    O seguinte erro "Script controls may not be registered after PreRender" acontece quando executo TabContainer1.Tabs.Add(tp); no script abaixo:


    pagina teste.aspx

    <BODY>
    ...

        <asp:ScriptManager ID="ScriptManager1" runat="server">
       
        </asp:ScriptManager>

        <cc1:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0">

        </cc1:TabContainer>

        <%

            TabPanel tp = new TabPanel();
            tp.ID = "tp1";
            tp.HeaderText = "teste_aba";
            TabContainer1.Tabs.Add(tp);

        %>


        ...
    </BODY>

    alguem tem uma idéia do que fazer para gerar dinâmicamente esses TabPanels ?


    Obrigado!
    terça-feira, 15 de dezembro de 2009 13:57

Todas as Respostas

  • Então galera,   

    fui para uma nova abordagem e acho que o caminho é esse:

        <cc1:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0">
       
            <% for (int ct = 0; ct <= 1; ct++)
               {
                   ViewData["aux"] = ct+1; %>
       
            <cc1:TabPanel runat="server" HeaderText="TabPanel1" >
            <ContentTemplate>

                teste

            </ContentTemplate>
            </cc1:TabPanel>
           
            <% } %>
           
        </cc1:TabContainer>

    Porem está dando um erro  que acredito que seja por causa que o painel está sem o ID. Porem, não consigo nomeá-lo dinâmicamente:

     <cc1:TabPanel ID="<%= (string)ViewData["aux"] %> " runat="server" HeaderText="TabPanel1" >

    dá esse erro "Server tags cannot contain <% ... %> constructs."

    deve ser algo desse tipo... alguem sabe como posso nomear essa tag ID dinâmicamente  ?


    Grato pela ajuda!
    terça-feira, 15 de dezembro de 2009 16:07
  • Caro, voce conseguiu a solução? Estou com a mesma necessidade e não encontro...snif :-(

    Abraços.

    sexta-feira, 3 de setembro de 2010 14:22
  • No MVC é extremamente desaconselhável usar controles do webforms.

    Existe o Jquery Tabs (JQuery UI) que pode resolver o seu problema muito mais fácil que tentar adaptar os controles webforms para funcionarem corretamente no MVC. Lembre-se também que no MVC não tem ViewState.

    sexta-feira, 3 de setembro de 2010 18:29
    Moderador
  • O melhor jeito é fazendo o tab container com Jquery  e no caso de ser dinâmico você pode utilizar o Ajax para fazer requisições assíncronas  
    sexta-feira, 4 de fevereiro de 2011 13:11