Каков наилучший способ включить контент в AJAX TabContainer? - PullRequest
1 голос
/ 06 сентября 2010

Я не хотел, чтобы тонна кода была на одной странице, но чтобы код был модульным и простым.Итак, в моем TabContainer у меня есть следующее, где каждая вкладка относится к веб-странице, и мой код находится внутри каждой веб-страницы.Мой TabContainer находится внутри страницы default.aspx.

    <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 / default по какой-либо вкладке.Я пытаюсь обновить TextBox на странице default.aspx на вкладке, но на нее нет ссылок.

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

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

Спасибо !!Ларри

1 Ответ

1 голос
/ 04 апреля 2011

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

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