asp.net – Ajax Tookit TabPanel Invisible Tag Bug
发布时间:2020-05-23 21:15:30 所属栏目:asp.Net 来源:互联网
导读:我在使用ajax控件工具包TabPanel时遇到了一个有点奇怪的错误.我有4个标签,如下所示: [TAB1] [TAB2] [TAB3] [TAB4] 现在,选项卡2应仅在某些情况下出现,因此其可见性设置为false.然而,虽然它是不可见的,但如果我点击Tab 3,它会在切换到Tab 1之前加载选项卡.同
|
我在使用ajax控件工具包TabPanel时遇到了一个有点奇怪的错误.我有4个标签,如下所示: [TAB1] [TAB2] [TAB3] [TAB4] 现在,选项卡2应仅在某些情况下出现,因此其可见性设置为false.然而,虽然它是不可见的,但如果我点击Tab 3,它会在切换到Tab 1之前加载选项卡.同样选择tab4将加载tab4,但随后立即切换到tab3.在服务器端,ActiveTabChanged事件被命中两次,一次是正确选择的选项卡,一次是它正在切换的选项卡. 如果我将Tab2移动到选项卡行的末尾,一切正常.稍微阅读了工具包,我认为这与活动选项卡索引有关,并且javascript将其设置为低于应该的值,但我不确定如何修复它. 解决方法我不确定这是否是同一个问题,但它听起来与我几个月来的相似.看看我的问题和解决方案:> forums.asp.net: hiding TabContainer TabPanels 我不得不在PreRender的Ajax-Toolkit中修复一个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,"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 & "'),"DisableTabFun" & index,True)
End Sub (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在ASP.NET应用程序的global.asax中处理Application_Error
- asp.net-mvc – 域模型中的ASP.NET MVC业务逻辑与服务层
- asp.net-mvc – 将DropDownListFor绑定到字典
- Autofac和ASP.NET Web API ApiController
- asp.net-core – 为什么要在src文件夹中组织项目?
- .net – 有人有一个例子,说明为什么我会主持一个WCF服务
- .net – %#%和%=%有什么区别?
- asp.net-mvc – ACS安装,但MVC 4.0应用程序仍然重定向,无法
- asp.net-mvc – MVC – 如何从get请求获取参数值,该参数名称
- asp.net – axd和ashx处理程序之间的区别
推荐文章
站长推荐
- 只需发布已修改的控制器,模型和ASP.NET MVC项目的
- 验证 – Asp.Net MVC:子请求的执行失败.请查看I
- asp.net – aspx中的设计视图没有加载
- asp.net-mvc – 无法在Web服务器上启动调试. Web
- asp.net-mvc – 在asp.net mvc请求中捕获windows
- asp.net-mvc – 如何组合两个dataTextFields的Se
- asp.net-mvc-3 – 如何使用Asp.Net MVC 3和Razor
- asp.net-mvc – Asp.net MVC 3验证在TryUpdateMo
- asp.net-web-api – 如何使用web api和模型绑定定
- asp.net – 如何从SQL数据库流.flv文件
热点阅读
