0

希望有人可以帮助我我想我知道问题是什么,但我似乎无法让它发挥作用。

我有一个用 VB web developer 2010 编写的小网站。

我正在寻找移动我正在使用的主机公司,但我遇到的问题是页面顶部的按钮:

<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
    <Items>
        <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
        <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
    </Items>
</asp:Menu>

老主人他们表现得很好。新主机(我自己做所有事情的 VPS 服务器)仅显示为一个超链接。

我认为这是我编译它的 ASP.net 版本,目前是 3.5,但我可能是错的,我已经多次尝试让它工作。

任何帮助表示赞赏。谢谢!

4

2 回答 2

3

您确定您复制了项目附带的 CSS 文件,并且它们位于具有正确权限的目录中吗?

然后阅读此链接:http: //msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menu.renderingmode.aspx

特别是它引用了从 3.5 或更低版本更改为 4.0 时可能需要设置的渲染模式设置

RenderingMode 属性的值确定菜单控件如何呈现菜单控件的标记。在 ASP.NET 3.5 和更早的版本中,Menu 控件使用 HTML 表格元素和内联样式来指定菜单在浏览器中的外观。在 ASP.NET 4 和更高版本中,Menu 控件默认使用 HTML listitem 元素和级联样式表 (CSS) 样式。如果不设置此属性,Menu 控件将呈现适合由 Control.RenderingCompatibility 属性指示的 ASP.NET 版本的标记。Menu 控件使用以下规则:

  • 如果 RenderingCompatibility 属性的值为 3.5,则 Menu 控件使用 HTML 表格元素和内联样式。
  • 如果 RenderingCompatibility 属性的值为 4.0 或更大,则 Menu 控件使用 HTML listitem 元素和 CSS 样式。

提供此属性是为了向后兼容。如果 RenderingCompatibility 属性指示您希望控件生成与 ASP.NET 4 或更高版本兼容的 HTML,但您希望 Menu 控件成为使用早期行为的异常,则可以将此属性设置为 Table。例如,如果您有一个从右到左显示文本的网页,您可能希望将此属性设置为 Table,因为某些浏览器无法正确显示从右到左文本的列表模式标记。

于 2013-09-22T01:13:32.167 回答
0

解决方案!

服务器端:使用此处的答案将 asp.net 版本更改为 4.0

在您的 Web.config 中

我对此有意见

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>

改成

<pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID"/>

完全的!

感谢您的帮助 EJ 在不知道它与 CSS 相关的情况下,我无法找到答案。

于 2013-09-22T01:42:23.127 回答