1

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

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

或者

想办法改变“菜单”控件中的“javascript”?

我什么时候应该使用这个“菜单”控件?如果我使用它,如何定制自己喜欢的风格?

4

1 回答 1

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>

结果:

在此处输入图像描述

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

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

如果您只是出于导航目的使用菜单,那么确保一个简单的 CSS 和 javascript 菜单就足够了,但是如果您计划从数据库动态生成菜单项和/或根据用户角色显示隐藏某些菜单项,那么您会需要使用更强大的东西,比如 ASP.NET 菜单控件。从我对 Question1 的回答中可以看出,您可以轻松地将 CSS 和 javascript 添加到 Menu 控件,因此在这方面非常灵活。


于 2013-02-07T10:02:27.280 回答