我不確定這是否是相同的問題,但它聽起來類似於我已經有幾個月。看看這裏我的問題和解決方案:
我不得不從固定在的PreRender Ajax的工具包一個Bug:
Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
'ensure that the Tabs stay invisible that have Visible=False on markup and dont get visible programmatically'
Me.TabThatShouldStayInvisible.Visible = False
FixTabPanelVisible(TabContainer1)
End Sub
Protected Sub FixTabPanelVisible(ByVal tabcontainer As AjaxControlToolkit.TabContainer)
For Each tp As AjaxControlToolkit.TabPanel In tabcontainer.Tabs
Dim oldVisible As Boolean = CBool(IIf(IsNothing(ViewState(tp.UniqueID + "_Display")), True, ViewState(tp.UniqueID + "_Display")))
If Not tp.Visible Then
ViewState(tp.UniqueID + "_Display") = False
DisableTab(tabcontainer, tabcontainer.Tabs.IndexOf(tp))
ElseIf tp.Visible AndAlso Not oldVisible Then
ViewState(tp.UniqueID + "_Display") = True
EnableTab(tabcontainer, tabcontainer.Tabs.IndexOf(tp))
End If
tp.Visible = True
Next
Dim fixScript As New StringBuilder()
fixScript.Append("function DisableTab(container, index) {$get(container.get_tabs()[index].get_id() + ""_tab"").style.display = ""none"";}")
fixScript.Append("function EnableTab(container, index) {$get(container.get_tabs()[index].get_id() + ""_tab"").style.display = """";}")
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "FixScriptReg", fixScript.ToString(), True)
End Sub
Protected Sub EnableTab(ByVal container As AjaxControlToolkit.TabContainer, ByVal index As Integer)
Dim sFunction As String = "function() {EnableTab($find('" & container.ClientID & "')," & index & ");}"
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "EnableTabFun" & index, "Sys.Application.add_load(" & sFunction & ");", True)
End Sub
Protected Sub DisableTab(ByVal container As AjaxControlToolkit.TabContainer, ByVal index As Integer)
Dim sFunction As String = "function() {DisableTab($find('" & container.ClientID & "')," & index & ");}"
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "DisableTabFun" & index, "Sys.Application.add_load(" & sFunction & ");", True)
End Sub