Самый простой способ - использовать PageMethod ScriptManager.
1 Включить методы страницы
<asp:ScriptManager runat="server" EnablePageMethods="true"></asp:ScriptManager>
2 Создать метод страницы в aspx-странице, который будет получать фактическую информацию о вкладке
[WebMethod]
public static void SaveCurrentTab(string controlId, int currentTabIndex)
{
// save data to session
}
3 Создание обработчика js-функции для отправки фактических данных на сервер
<script type="text/javascript">
function clientActiveTabChanged(sender, args) {
PageMethods.SaveCurrentTab(sender.get_id(), sender.get_activeTabIndex());
}
</script>
4 Присоединение js-обработчика к TabContainer
<ajaxToolkit:TabContainer ID="TabContainer1" runat="server" OnClientActiveTabChanged="clientActiveTabChanged">
<ajaxToolkit:TabPanel ID="TabPanel1" runat="server" HeaderText="Test1">
<ContentTemplate>Test1</ContentTemplate>
</ajaxToolkit:TabPanel>
<ajaxToolkit:TabPanel ID="TabPanel2" runat="server" HeaderText="Test2">
<ContentTemplate>Test2</ContentTemplate>
</ajaxToolkit:TabPanel>
<ajaxToolkit:TabPanel ID="TabPanel3" runat="server" HeaderText="Test3">
<ContentTemplate>Test3</ContentTemplate>
</ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>
PS Существует альтернативное решение - сохранение данных на клиентесторона в cookie .