ASP.Net菜单CSS不适用

时间:2014-02-05 15:19:22

标签: asp.net css

我最近将我的网络应用程序从VB转换为C#。还有一个问题 - 转换后, 应用于我的Site.Master导航菜单的CSS不再有效 。它表现得好像根本就没有CSS。

我做了以下事情:

  • 我已经验证了CSS语法
  • 我已删除并重新添加了.css文件
  • 我已删除并重新添加了对Site.Master
  • 中.css的引用
  • 我已将内容复制到另一个.css文件并更新了参考资料
  • 我已经使用.css文件创建了另一个测试项目和主项目中Site.Master的内容,并验证了CSS和引用确实有效

所以我的问题是这样的: ASP.Net Web应用程序中是否存在可以仅对应用程序的某些部分禁用CSS的地方?

此问题现在仅在转换后发生,并且语法在其他Web项目中有效,因此在我看来它必须在应用程序本身中切换了一些破坏它的东西。

这是我的代码,有点清理:

我的标记:

<head id="Head1" runat="server">
    ...
    <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
    ...
</head>
<body>
...
    <asp:Menu ID="Menu1" runat="server" CssClass="menu" EnableViewState="False" IncludeStyleBlock="False"
                Orientation="Horizontal" StaticDisplayLevels="1">
        <Items>
            <asp:MenuItem Text="PTS Home" Value="PTS Main" NavigateUrl="Default.aspx">...</asp:MenuItem>
            <asp:MenuItem Text="Admin" Value="Admin">...</asp:MenuItem>
            <asp:MenuItem Text="Estimating" Value="Estimating">...</asp:MenuItem>
            <asp:MenuItem Text="Purchasing" Value="Purchasing">...</asp:MenuItem>
            <asp:MenuItem Text="Commissions" Value="Commissions">...</asp:MenuItem>
            ...
        </Items>
    </asp:Menu>
</body>

我的CSS:

div.menu
{
    padding: 0px 0px 0px 0px;
    background-color: #507F6D;
    z-index: 1;
}

div.menu ul
{
    list-style: none;
    margin: 0px;
    padding: 1px;
    width: auto;
    z-index: 1;
}

div.menu ul li a:active
{
    background-color: #37725C; 
    color: #cfdbe6;
    text-decoration: none;
    z-index: 1;
}

应该是什么样子

Correct appearance

实际上是什么样的

Incorrect appearance

3 个答案:

答案 0 :(得分:1)

找到答案,感谢Pete的评论指引我朝着正确的方向前进。

控件的RenderingMode设置为“Default” - 显然,在VB中,默认行为是List,但在C#中是表。 Div CSS对项目没用,所以没有格式化。将它设置为List和magic!

答案 1 :(得分:0)

div.menu
{
    padding: 0px 0px 0px 0px;
    background-color: #507F6D;
    z-index: 1;
}

div.menu ul
{
    list-style: none;
    margin: 0px;
    padding: 1px;
    width: auto;
    z-index: 1;
}

div.menu ul li a
{
    background-color: #37725C; 
    color: #cfdbe6;
    text-decoration: none;
    padding: 0 5px;
    border: 1px solid greenyellow;
}

div.menu ul li a:active
{
    background-color: #37725C; 
    color: #cfdbe6;
    text-decoration: none;
    z-index: 1;
}

答案 2 :(得分:0)

删除div。在你的CSS中,我认为控件不会创建div

http://msdn.microsoft.com/en-US/en-en/library/ms366731(v=vs.100).aspx