Ma il problema e' che non riesci a settare l'ActiveTabIndex oppure che vuoi farlo senza postback ?
Ho fatto una prova e "la forzatura" funziona:
codice:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<AjaxControlToolkit:TabContainer ActiveTabIndex="0" runat="server" ID="TabContainer">
<AjaxControlToolkit:TabPanel TabIndex="0" Height="500px" ID="TabPanel1" runat="server" HeaderText="1" Width="100px">
<ContentTemplate>
tab 1
</ContentTemplate>
</AjaxControlToolkit:TabPanel>
<AjaxControlToolkit:TabPanel TabIndex="1" Height="500px" ID="TabPanel2" runat="server" HeaderText="2" Width="100px">
<ContentTemplate>
tab 2
</ContentTemplate>
</AjaxControlToolkit:TabPanel>
<AjaxControlToolkit:TabPanel TabIndex="2" Height="500px" ID="TabPanel3" runat="server" HeaderText="3" Width="100px">
<ContentTemplate>
tab 3
</ContentTemplate>
</AjaxControlToolkit:TabPanel>
</AjaxControlToolkit:TabContainer>
<asp:Button ID="bt" runat="server" Text="Postback !" />
</ContentTemplate>
</asp:UpdatePanel>
VB.Net:
Protected Sub TabContainer_ActiveTabChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabContainer.ActiveTabChanged
If TabContainer.ActiveTab.TabIndex <> 0 Then
TabContainer.ActiveTabIndex = 0
End If
End Sub
in grassetto il tabIndex per ogni tab, che mi sembra manchi al tuo codice aspx...