2010-09-06 1 views
1

Je ne voulais pas avoir une tonne de code sur une page, mais pour garder le code modulaire et simple. Donc, dans mon TabContainer, j'ai ce qui suit où chaque onglet se réfère à une page Web et mon code est à l'intérieur de chaque page Web. Mon TabContainer lui-même est à l'intérieur de la page default.aspx.Quelle est la meilleure façon d'inclure du contenu dans un TabContainer AJAX?

<asp:TabContainer ID="tabTOL" runat="server" ActiveTabIndex="0" CssClass="tol"> 
     <asp:TabPanel ID="tabHome" runat="server" TabIndex="0" HeaderText="Home"> 
      <ContentTemplate> 
       <iframe src="Home.aspx"></iframe> 
      </ContentTemplate> 
     </asp:TabPanel> 
     ... 

Bien sûr, le problème est que je ne peux pas se référer à d'autres onglets ou la page TabContainer/défaut de ne importe quel onglet. J'essaie de mettre à jour un TextBox sur la page default.aspx à partir d'un onglet, mais il n'y a aucune référence.

Dois-je mordre la balle et avoir une énorme page web avec tout le code HTML et le code derrière? Il y a une douzaine d'onglets dans mon TabContainer. Je pense que cela ralentirait aussi le traitement. Ou, y a-t-il une façon plus simple de faire cela tout en conservant la possibilité de référencer les contrôles sur la page principale ou sur d'autres onglets? Je travaille dans VS2008 et .Net 3.5 et AJAX 3.5.

Merci! Larry

Répondre

1

Je vous suggère de changer la structure de Home.Aspx en un contrôle d'utilisateur Web (* .ascx). L'avantage est que vous exécutez maintenant dans le contexte de la page parente. Par conséquent, toutes ses fonctionnalités sont à portée de main. Par exemple, pour accéder à une zone de texte sur la page parente, à partir de Home.Ascx, vous devez faire ceci:

((Default)this.Parent).txtMyTextBox.Text = "Hello"; 
Questions connexes