希望有人可以帮助我,我想我知道问题是什么,但我似乎无法使其发挥作用。
我有一个用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,但我可能错了,我已多次尝试让它工作。
感谢任何帮助。谢谢!
答案 0 :(得分:3)
您确定复制了与项目一起使用的CSS文件,并且它们位于具有正确权限的目录中吗?
请阅读此链接:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menu.renderingmode.aspx
特别是它引用了当您从3.5或更低版本更改为4.0时可能需要设置的rendermode设置
RenderingMode属性的值确定菜单的方式 控件呈现Menu控件的标记。在ASP.NET 3.5和 在早期版本中,Menu控件使用HTML表格元素和内联 样式以指定浏览器中菜单的外观。在ASP.NET中 4及更高版本,默认情况下,Menu控件使用HTML listitem 元素和级联样式表(CSS)样式。如果你没有设置 此属性,Menu控件呈现适合的标记 由ASP.NET指示的ASP.NET版本 Control.RenderingCompatibility属性。 Menu控件使用 遵循规则:
- 如果RenderingCompatibility属性的值为3.5,则Menu控件使用HTML表格元素和内联样式。
- 如果RenderingCompatibility属性的值为4.0或更高,则Menu控件使用HTML listitem元素和CSS样式。
提供此属性是为了向后兼容。如果 RenderingCompatibility属性表示您想要控件 生成与ASP.NET 4或更高版本兼容但您想要的HTML Menu控件是一个使用早期行为的异常,你 可以将此属性设置为Table。例如,如果您有一个网页 从右到左显示文本您可能想要设置此项 属性为Table,因为某些浏览器不显示列表模式 正确标记从右到左的文本。
答案 1 :(得分:0)
的解决方案!
服务器端:使用位于here
的答案将asp.net版本更改为4.0在您的Web.config中
我对此有一个
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>
更改为
<pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID"/>
完整!
感谢您的帮助E.J.不知道它与CSS有关,我无法得到答案。