2014-05-25 2 views
0

Voici l'histoire:onglets jQuery ne pas montrer le panneau Asp dans l'onglet sélectionné sur PostBack

J'ai 2 panneaux de mise à jour. UpdatePanel 1 possède une liste déroulante qui possède ses propres fonctionnalités. UpdatePanel2 a les Divs pour les fonctionnalités des onglets jQuery.

Voici les extraits de code:

ASPX

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <table style="width: 100%;"> 
      <tr> 
       <td class="LabelColumn"> 
        <asp:Label ID="Label11" runat="server" Text="Company"></asp:Label> 
       </td> 
       <td> 
        <asp:DropDownList ID="CompanyDropDownList" runat="server" Width="300px" OnSelectedIndexChanged="CompanyDropDownList_SelectedIndexChanged" AutoPostBack="True"> 
        </asp:DropDownList> 
       </td> 
       <td>&nbsp;</td> 
      </tr> 
     </table> 
    </ContentTemplate> 
</asp:UpdatePanel> 

<asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
    <ContentTemplate> 
     <div id="tabs"> 
      <ul style="width: 200px"> 
       <li><a href="#MultiPurposeForm">Multi Purpose Form</a></li> 
       <li><a href="#LeaveApplicationForm">Application For Leave</a></li> 
      </ul> 

      <div id="MultiPurposeForm"> 
       <table> 
        <tr> 
         <td class="auto-style3"> 
          <asp:Label ID="LabelHeader" runat="server" Text="Multi Purpose Form"></asp:Label> 

          <asp:Panel ID="MultiPurposeFormPanel" runat="server" Visible="True" OnLoad="MultiPurposeFormPanel_Load1"> 
           <!-- Many controls come here --> 
          </asp:Panel> 
         </td> 
        </tr> 
       </table> 
      </div> 

      <div id="LeaveApplicationForm"> 
       <asp:Label ID="Label4" runat="server" Text="Application for Leave"></asp:Label> 
      </div> 
     </div> 
    </ContentTemplate> 
</asp:UpdatePanel> 

Javascript

<script type="text/javascript"> 

    function pageLoad(sender, args) 
    { 
     $(document).ready(function() { 
      $("#tabs").tabs(); 
      //$("#dialog").dialog(); 
     }); 
    } 

</script> 

code Derrière

Lorsque la page est chargée pour la première fois, tout fonctionne correctement. Cependant, après avoir sélectionné un élément dans la liste déroulante de UpdatePanel1, je ne vois pas le MultiPurposeFormPanel. Je peux seulement voir le LabelHeader.

Une idée de pourquoi cela se passe-t-il? Un ensemble visible = faux déclenche tous les messages de publication.

+0

On dirait que vous faites la bonne chose, en utilisant pageLoad pour ré-initier le contrôle onglet .. pouvez-vous poster le code-behind aussi bien? – sh1rts

+0

@ sh1rts Salut, j'ai posté le code derrière .. s'il vous plaît laissez-moi savoir si vous avez besoin d'autre chose aussi .. Le code derrière ajoute juste quelques éléments aux listes déroulantes. – Muhammedh

+0

Hmm ça me va? Pouvez-vous faire deux choses: 1) mettre une alerte ou un fichier console.log ('hello') dans votre fonction pageLoad(), puis 2) ouvrir le débogueur de votre navigateur et voir ce qui se passe dans la console et dans la trace réseau, lorsque vous sélectionnez un élément dans CompanyDropDown. Que vois-tu ? – sh1rts

Répondre

0

Désolé de prendre votre temps.

+0

hehe :) pas de soucis mec, parfois vous ne voyez que la réponse après avoir essayé d'expliquer votre code à un mec aléatoire sur l'interweb :) – sh1rts

+0

@ sh1rts He il je suppose que c'est vrai :-)! – Muhammedh

Questions connexes