2010-09-06 3 views
1

Я не хотел иметь тонны кода на одной странице, но чтобы код был модульным и простым. Поэтому в моем контейнере TabContainer у меня есть следующее, где каждая вкладка относится к веб-странице, а мой код находится внутри каждой веб-страницы. Мой вкладка TabContainer находится внутри страницы default.aspx.Каков наилучший способ включить контент в 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> 
     ... 

Конечно, проблема в том, что я не могу ссылаться на другие вкладки или страницы TabContainer/по умолчанию на любой вкладке. Я пытаюсь обновить TextBox на странице default.aspx с вкладки, но ссылки на нее нет.

Должен ли я кусать пулю и иметь одну огромную веб-страницу со всем html и кодом? В моем TabContainer есть десяток вкладок. Я бы подумал, что это замедлит обработку. Или, есть ли более чистый способ сделать это и по-прежнему сохранять способность ссылаться на элементы управления на главной странице или на других вкладках?

Я работаю в VS2008 и .Net 3.5 и AJAX 3.5.

Спасибо! Larry

ответ

1

Я бы предположил, что вы изменили структуру Home.Aspx на веб-элемент управления пользователями (* .ascx). Преимущество состоит в том, что вы теперь работаете в контексте родительской страницы. Поэтому все его функциональные возможности находятся в пределах досягаемости. Например, чтобы получить доступ к текстовому поле на родительской странице, из Home.Ascx, вы сделаете так:

((Default)this.Parent).txtMyTextBox.Text = "Hello"; 
Смежные вопросы