asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ASP.NET 4.0删除控件后菜单控件的渲染问题RenderingCompatibilityVersion =“3.5”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我实际上是将网站迁移到ASP.NET 4.0,有新的菜单控件渲染的问题。我的网站大量使用嵌套菜单。使用悬停效果,布局由主题和皮肤与链接CSS的组合定义。

如果我删除页面controlRenderingCompatibilityVersion属性,它们不再显示为嵌套表,而是作为ul / li Tags。这在很多方面打破了我的布局。对于迁移复杂的ASP.NET菜单布局的任何建议都是非常受欢迎的。

编辑:标记和CSS详细信息作为对评论的回复

皮肤文件的相关部分

<asp:Menu runat="server" DynamicHorizontalOffset="2" Orientation="Horizontal" SkipLinkText=""
    StaticPopoutIR_684_11845@ageUrl="~/App_Images/Themes/arrow_down.gif" DynamicPopoutIR_684_11845@ageUrl="~/App_Images/Themes/arrow_right.gif">
    <StaticMenuItemStyle CssClass="MenuDefaultMenuItemStyle" />
    <DynamicMenuItemStyle  CssClass="MenuDefaultMenuItemStyle" />

    <StaticSELEctedStyle CssClass="MenuDefaultSELEctedStyle" />
    <DynamicSELEctedStyle CssClass="MenuDefaultSELEctedStyle" />

    <StaticHoverStyle CssClass="MenuDefaultHoverStyle" />
    <DynamicHoverStyle CssClass="MenuDefaultHoverStyle" />
</asp:Menu>

<asp:Menu runat="server" SkinId="MenuVertical" DynamicHorizontalOffset="2" SkipLinkText=""
    StaticPopoutIR_684_11845@ageUrl="~/App_Images/Themes/arrow_right.gif" DynamicPopoutIR_684_11845@ageUrl="~/App_Images/Themes/arrow_right.gif">
    <StaticMenuItemStyle CssClass="MenuVerticalMenuItemStyle" />
    <DynamicMenuItemStyle  CssClass="MenuVerticalMenuItemStyle" />

    <StaticSELEctedStyle CssClass="MenuVerticalSELEctedStyle" />
    <DynamicSELEctedStyle CssClass="MenuVerticalSELEctedStyle" />

    <StaticHoverStyle CssClass="MenuVerticalHoverStyle" />
    <DynamicHoverStyle CssClass="MenuVerticalHoverStyle" />
</asp:Menu>

样式表

.MenuDefaultMenuItemStyle
{
    BACkground-color: #D5DCE1;
    color: #234875;
    padding: 2px;
    width: 100%;
}

.MenuDefaultSELEctedStyle
{
    BACkground-color: #3C5778;
    color: #FFFFFF;
    padding: 2px;
    width: 100%;
}

.MenuDefaultHoverStyle
{
    BACkground-color: #666666;
    color: #FFFFFF;
    padding: 2px;
    width: 100%;
}

.MenuVerticalMenuItemStyle
{
    BACkground-color: #FFFFFF;
    border: 1px solid #D5DCE1;
    color: #234875;
    height: 30px;
    padding: 2px;
    width: 100%;
}

.MenuVerticalSELEctedStyle
{
    BACkground-color: #003366;
    border: 1px solid #D5DCE1;
    color: #FFFFFF;
    height: 30px;
    padding: 2px;
    width: 100%;
}

.MenuVerticalHoverStyle
{
    BACkground-color: #EEEEEE;
    border: 1px solid #000000;
    color: #234875;
    height: 30px;
    padding: 2px;
    width: 100%;
}

解决方法

如果从web.config中删除controlRenderingCompatibilityVersion属性,菜单渲染的默认模式从表到表隐含地更改。如果你仍然想让你的菜单呈现表标签,你需要通过添加RenderingMode属性在asp:菜单控件中明确指定:
<asp:Menu runat="server" RenderingMode="Table" ... >
   ...
</asp:Menu>

(也在MSDN中的备注部分:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menu.renderingmode.aspx)

大佬总结

以上是大佬教程为你收集整理的ASP.NET 4.0删除控件后菜单控件的渲染问题RenderingCompatibilityVersion =“3.5”全部内容,希望文章能够帮你解决ASP.NET 4.0删除控件后菜单控件的渲染问题RenderingCompatibilityVersion =“3.5”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。