2010-09-06 136 views
1

我不想在一页上有大量的代码,但要保持代码模块化和简单。因此,在我的TabContainer中,每个选项卡都指向一个网页,并且我的代码位于每个网页内。我的TabContainer本身位于default.aspx页面内。在AJAX TabContainer中包含内容的最佳方式是什么?

<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> 
     ... 

当然,问题是,我无法从任何选项卡内引用其他标签或TabContainer的/默认页。我试图从tab中更新default.aspx页面上的TextBox,但没有提及它。

我是否应该咬紧牙关,拥有一个巨大的网页,其中包含所有的html和代码? TabContainer中有十几个标签。我认为这也会降低处理速度。或者,是否有更干净的方式来执行此操作,并仍保留在主页或其他选项卡上引用控件的功能?

我在VS2008和.Net 3.5和AJAX 3.5中工作。

谢谢! Larry

回答

1

我建议您将Home.Aspx的结构更改为Web用户控件(* .ascx)。好处是您现在正在父页面的上下文中运行。因此,它的所有功能都触手可及。例如,要从Home.Ascx访问父页上的文本框,您应该这样做:

((Default)this.Parent).txtMyTextBox.Text = "Hello"; 
相关问题