在AJAX TabContainer中包含内容的最佳方式是什么?
问题描述:
我不想在一页上有大量的代码,但要保持代码模块化和简单。因此,在我的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
答
我建议您将Home.Aspx的结构更改为Web用户控件(* .ascx)。好处是您现在正在父页面的上下文中运行。因此,它的所有功能都触手可及。例如,要从Home.Ascx访问父页上的文本框,您应该这样做:
((Default)this.Parent).txtMyTextBox.Text = "Hello";