为AJAX选项卡控件设置活动选项卡

本文关键字:选项 活动 设置 控件 AJAX | 更新日期: 2023-09-27 18:27:15

我有一个使用AJAX TabContainer的网站,它有几个选项卡面板。每个选项卡面板都由一个带有许多控件的客户用户控件组成。每当执行服务器端按钮单击事件时,我需要能够设置活动选项卡。如何从C#代码后面的自定义控件访问TabContainer?

我的标记结构如下:

<cc1:TabContainer ID="TabRoot" runat="server" Width="100%" CssClass="ajax__tab_yuitabview-theme" onActiveTabChanged="TabRoot_ActiveTabChanged" 
    OnClientActiveTabChanged="SetIndex" ActiveTabIndex="0" AutoPostBack="True">
      <cc1:TabPanel ID="TabPatientRoot" runat="server" HeaderText="Patient">
        <ContentTemplate>
              <custom:Patient ID="PatientInfo" runat="server" Visible="False"></custom:Patient>
        </ContentTemplate>
      </cc1:TabPanel>
</cc1:TabContainer>

在更改选项卡面板之前,服务器端代码必须执行SaveData功能,因为每当活动选项卡更改时,它都会加载新选择的选项卡面板的信息,从而丢失以前选项卡面板上未保存的任何信息。

如何执行服务器端的SaveData函数,然后访问TabRoot来更改活动选项卡?目前,我使用javascript函数(在保存按钮的OnClientClick中)来设置活动选项卡,但它是在服务器端SaveData函数之前执行的。这似乎只是IE9中用户的问题。

为AJAX选项卡控件设置活动选项卡

试着这样做,并参考这个例子Ajax控制工具包

TabRoot.ActiveTabIndex = 0;  // set your active tab index to display. 

尝试在按钮回发事件中设置选项卡的ActiveIndex