【发布时间】:2012-02-17 03:21:23
【问题描述】:
我有一个最初使用 vs2008 构建的网站。我们最近升级到了 vs2010。当我将项目转换为 vs2010 项目时,我告诉它不要将目标框架从 3.5 更新到 4.0。据我所知,查看所有参考资料和项目框架,一切都还在 3.5 上,但由于某种原因,我的 ASP.NET 菜单从呈现 html 表变为跨度。我知道在 4.0 中他们添加了 Menu.RenderingMode 属性并将其默认为 List 而不是 Table 但由于我正在构建的所有内容都是 3.5 不仅应该以 Table 模式呈现,而且我什至不能手动将其设置为 Table 模式。任何人都知道解决这个问题(最好是跨跨度的css hack或升级到4.0)?我只想升级到 4.0,但我们还没有准备好。我什至不相信会修复它,因为它不是使用 li 标签(列表)渲染 ol 或 ul,而是渲染跨度。
【问题讨论】:
-
您查看过网站的 DOC 类型吗?我认为您的新 DOC 类型中的
table标记已过时,因此它可能会将所有表格呈现为spans。请尝试调查一次。 -
我一直在使用 WinMerge 来查看 html 渲染的差异(从 vs2008 到 vs2010)。看起来文档类型保持不变 ttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" rel="nofollow" target="_blank">w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
我忘记提到的一件事是它在 vs2010 的 localhost 中看起来不错,但是当发布到 IIS(在我们的例子中为 IIS 7)时,我们遇到了问题。它在 IE 和 Firefox 中看起来不错,但在 Chrome 中却不行。
-
另一个奇怪的事情是,当我从 FireFox 和 IE 查看源代码时,表格就在那里,但是当我从 Chrome 查看源代码时 - 没有表格 - 只是跨度。
标签: asp.net visual-studio-2010 menu