我一直在为我的选项卡控件的问题而发疯。
它与 ASP.NET 中的 ajax 请求期间出现的问题有关,这让我发疯了,因为我认为我已经经历了至少 50 种不同的可能解决方案来尝试解决这个问题。
让我解释。我有一个 Tab 控件(一个 TabStrip)。它只是一个表(使用 Repeater 控件生成),它有一行,每一列(每个 td 元素)都是一个“选项卡”。每当单击选项卡时,都会显示相应的 div(面板)。
这行得通,因为我将 div 的样式属性设置为 display:block,所以会显示相应的 div。
我遇到的问题与应用于 td 元素的样式有关。样式有2种,一种表示标签被选中,另一种表示标签未被选中。
因此,当该用户选择一个选项卡时,会显示相应的 div,并且 JavaScript 函数会循环遍历 TabStrip 中的 tds,并将“未选择”样式应用于除当前选定选项卡之外的所有选项卡,在这种情况下为“选定”样式被申请;被应用。
除非页面上发生过 Ajax 请求,否则这非常有用。
由于某些疯狂的原因,控制选项卡的 JavaScript 不再可以使用 css 类。选项卡在单击时起作用(因为它们显示相应的 div),但样式不再应用于选项卡。
我已经尝试了几乎所有方法来解决这个问题。我什至创建了一个 JavaScript 函数,它动态地将链接添加到带有选项卡样式的样式表,以确保即使在 Ajax 请求期间也能加载样式表。
这没有帮助,我现在正在考虑一种完全不同的方法,但我不知道我将如何做到这一点。
我想要做的是设置 tds 的样式属性而不是设置 className 属性。
样式存储在外部样式表中,我想将它们保留在那里,以便我可以随时使用样式表轻松更改 TabStrip 的样式,而无需编辑服务器代码。
那么...如何从 styleSheet 中获取样式以解析它并将适当的样式属性应用于元素?
您还有其他建议吗...因为这个想法似乎很困难,此时我想知道我是否正在寻找一些更简单的解决方案来解决这个丑陋的问题。
谢谢你的帮助,
-弗林尼