2010-08-23 4 views
2

J'essaie d'utiliser ASPxPageControl comme modèle pour mon assistant. Je mets des boutons sur chaque page et connecté à javascript qui change simplement la page active, par exemple:Onglets de commutation ASPxPageControl de javascript

Pc1Client.SetActiveTab(Pc1Client.GetTab(1)); 

Il fonctionne correctement lorsque les onglets sont visibles, mais quand je mis

ASPxPageControl1.ShowTabs = « false »

puis en essayant de changer l'onglet en cliquant sur mon bouton une erreur est élevée (STH qui formant avec ce nom existe déjà ou qqch comme ça, j'ai obtenu un message d'erreur en polonais )

est-ce que je fais quoi que ce soit faux ?

Merci pour l'aide

Répondre

2

Voici le code je (La version ASPxPageControl est 10.1.6):

<dx:ASPxPageControl ID="ASPxPageControl1" runat="server" ActiveTabIndex="2" ClientInstanceName="pc" EnableClientSideAPI="True"> 
    <TabPages> 
     <dx:TabPage Text="Tab 0"> 
      <ContentCollection> 
       <dx:ContentControl runat="server"> 
        0<br /> 
       </dx:ContentControl> 
      </ContentCollection> 
     </dx:TabPage> 
     <dx:TabPage Text="Tab 1"> 
      <ContentCollection> 
       <dx:ContentControl runat="server"> 
        1</dx:ContentControl> 
      </ContentCollection> 
     </dx:TabPage> 
     <dx:TabPage Text="Tab 2"> 
      <ContentCollection> 
       <dx:ContentControl runat="server"> 
        2</dx:ContentControl> 
      </ContentCollection> 
     </dx:TabPage> 
    </TabPages> 
</dx:ASPxPageControl> 
<input type="button" value="click" onclick="pc.SetActiveTab(pc.GetTab(0));" /> 


protected void Page_Load(object sender, EventArgs e) { 
    ASPxPageControl1.ShowTabs = false; 
} 

Il fonctionne correctement ici.

+0

Dans ce cas son vrai, fonctionne correctement, mais quand j'ai des grilles dans cet onglet il y a une erreur. peut-être im faire quelque chose de mal je dois vérifier, de toute façon merci – gruber

+0

S'il vous plaît poster votre balisage aspx ici. Je vais l'examiner et vous laisser savoir comment résoudre le problème. –

1

C'est parce que quand vous faites ASPxPageControl1.ShowTabs = "false" les onglets ne rendent pas à la page et ils ne sont pas disponibles via JavaScript

+0

Y a-t-il un moyen de les cacher et de les rendre disponibles par javascript? Je ne veux pas que l'utilisateur soit capable de changer ces onglets manuellement – gruber

+0

@snorlaks vous pouvez les cacher en définissant son style en CSS à "display: none" –

+0

Quel style? Style de quoi? – gruber

1

Pour résoudre ce problème et de faire votre travail de code, définissez la propriété EnableClientSideAPI du ASPxPageControl à vrai. Dans ce cas, tout devrait fonctionner correctement.

+0

Après avoir défini cette propriété et écrit dans l'événement Page_Load: ASPxPageControl1.ShowTabs = false; Il reste le même problème en essayant de changer l'onglet courant de javascript. Cela fonctionne lorsque cette propriété (ASPxPageControl1.ShowTabs) n'est pas définie sur false, merci – gruber

Questions connexes