2012-03-08 124 views
0

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

我的标记的结构是这样的:

<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功能,然后有权访问TabRoot来更改活动选项卡?目前,我正在使用JavaScript函数(在OnClientClick中用于保存按钮)来设置活动选项卡,但它在服务器端SaveData函数之前正在执行。这对于IE9用户来说似乎只是一个问题。

回答

1

尝试这样,并参考这个例子Ajax Control toolkit

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

我无法访问后面的自定义控件C#代码上的RootTab控件。 – Encryption 2012-03-08 17:59:19

0

尝试设置ActiveIndex标签的您的按钮回传事件中。

+0

我无法访问后面的自定义控件C#代码上的RootTab控件。 – Encryption 2012-03-08 17:59:12

相关问题