我有一个使用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用户的一个问题。
答案 0 :(得分:1)
尝试这样并参考此示例Ajax Control toolkit
TabRoot.ActiveTabIndex = 0; // set your active tab index to display.
答案 1 :(得分:0)
尝试在按钮回发事件中设置标签的 ActiveIndex 。