导航菜单控制

时间:2013-02-07 09:40:45

标签: asp.net menu navigation controls

当我使用“菜单”控件时,它从“sitemap”文件中获取有关菜单项的信息,我认为服务器会自动为此“菜单”控件构建“javascript”。我可以为此控件更改此自动构建的javascript吗?如果我想拥有更好看的导航栏,那么最喜欢的方法是什么:

使用javascript和css构建我自己的导航菜单?

或者

要找到更改“菜单”控件中“javascript”的方法吗?

我应该何时使用此“菜单”控件?如果我使用它,如何使用我自己喜欢的样式进行自定义?

1 个答案:

答案 0 :(得分:2)

问题1 - 为ASP.NET菜单提供独特的外观:

ASP.NET菜单控件在HTML中呈现时,只不过是ul(无序列表)。只需应用一些CSS样式规则即可获得独特的外观:

<强> ASPX:

<asp:Menu ID="Menu1" runat="server" Orientation="Horizontal" CssClass="menu">
    <Items>
        <asp:MenuItem Text="Home" NavigateUrl="Home.aspx" />
        <asp:MenuItem Text="Contact us" NavigateUrl="ContactUs.aspx" />
        <asp:MenuItem Text="About us" NavigateUrl="AboutUs.aspx" />
    </Items>
</asp:Menu>

<强> CSS:

<style type="text/css">
    .menu ul
    {
        border-bottom: 1px solid gray;
    }

    .menu ul li
    {
        border: 1px solid white;
        background-color: gray;
        text-decoration: none;
        padding: 3px;
        margin: 3px;
    }

    .menu ul li a
    {
        color: White;
    }

    .menu ul li a:hover
    {
        font-weight:bold;
    }
</style>

<强>结果:

enter image description here

问题2:ASP.NET菜单或CSS + Javascript菜单:

这一切都取决于您所需的功能。

如果您仅仅是为了导航而使用菜单,那么确保一个简单的CSS和javascript菜单就足够了但是如果您计划从数据库动态生成菜单项和/或根据用户角色隐藏某些菜单项那么你需要使用像ASP.NET菜单控件这样功能更强大的功能。正如你在我对Question1的回答中所看到的那样,你可以轻松地将CSS和javascript添加到Menu控件中,所以它在这方面非常灵活