2010-12-29 3 views
0

Je travaille sur un projet.mais j'ai un problème.basiquement, j'utilise ajaxtoolkit tabcontainer.assume que j'ai 2 onglets que j'ai créé.let les appelle tab1, tab2.in tab1 il y a un bouton et textbox.when je clique sur le bouton, j'écris un certain texte dans la zone de texte. alors je crée une étiquette dynamiquement. supposons qu'elle s'appelle "tab3". le problème est quand je clique le bouton dans le tab1, tab3 est en train de disparaître Comment puis-je empêcher cela?ajaxtoolkit problème de publication

<asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0" AutoPostBack="true" 
     Height="273px" Width="1050px"> 
     <asp:TabPanel runat="server" HeaderText="tab1" ID="tab1">  
    <ContentTemplate> 


tab2

ici est où je suis d'ajouter un nouvel onglet dans la fonction:

 AjaxControlToolkit.TabPanel tp = new AjaxControlToolkit.TabPanel(); 
     tp.HeaderText = "tab3"; 
     tp.ContentTemplate = Page.LoadTemplate("WebUserControl1.ascx"); 
     tp.ID = "tab3"; 
     TabContainer1.Tabs.Add(tp); 

La partie html est: part:blahblahblahblah

+0

Pouvez-vous poster du code? – Chandu

Répondre

1

Lorsque vous manipulez des contrôles dynamiques, vous devrez les ajouter à nouveau après chaque publication. Ma recommandation est de stocker vos contrôles ajoutés dynamiquement dans ViewState, et d'écrire une méthode qui récupère les informations de ViewState et ajoute vos onglets. Puis appelez cette méthode à partir de Page_Init.

+0

J'ai eu l'idée. Merci pour la recommandation. Vraiment! – Ktl

+0

bien que j'essayais de faire cela.quand j'ai cliqué sur un bouton j'ai créé un nouvel onglet.et je l'ai ajouté dans viewstate.but dans la méthode page_load, je ne peux pas le récupérer.Il est le code: – Ktl

+0

AjaxControlToolkit.TabPanel tp = new AjaxControlToolkit .TabPanel(); tp.HeaderText = "Tab1"; tp.ContentTemplate = Page.LoadTemplate ("WebUserControl1.ascx"); tp.ID = "tab1"; ViewState ["tab1"] = tp; TabContainer1.Tabs.Add (tp); //Page.RegisterStartupScript("myScript ", javaScript); TabContainer1.ActiveTab = TabContainer1.Tabs [4]; TabContainer1.ActiveTab.Visible = true; – Ktl