有条件地格式化菜单项的背景颜色?

时间:2015-06-30 12:41:59

标签: c# asp.net menuitem

我在C#代码隐藏中使用了这段代码:

for (int i = PIndex2; i < PIndex2 + 10 && i < PCount; i++)
{
    NavMenu.Items.Add(new MenuItem
    {
        Text = (i + 1).ToString(),
        NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + (i + 1).ToString()
    });
    if (i == PIndex)
    {
        MenuItemStyle ms = new MenuItemStyle();
        ms.CssClass = "div.navmenu ul li a:focus";
    }
}

如果页面是当前页面(我保存在名为PIndex的变量中),我想更改背景颜色。我似乎找不到合适的语法来做到这一点。我试过在我的CssClass语句中同时使用a:focus和a:active,两者都没有用。

我的CSS如下:

/* NAV MENU */
div.navmenu
{
    padding: 2px 0px 2px 4px;
    display: table;
    margin: 0 auto;
    text-align: center;
}

div.navmenu ul
{
    list-style: none;
    margin: 0px;
    padding: 0px;
    width: auto;
    color: White;
}

div.navmenu ul li a, div.navmenu ul li a:visited
{
    background-color: #465c71;    
/*    background-color: white;    */
    border: 1px #4e667d solid;  
    color: white;
    display: block;
    line-height: 1.35em;
    padding: 4px 20px;
    text-decoration: none;
    white-space: nowrap;
}

div.navmenu ul li a:hover
{
    background-color: white;
    color: #465c71;
    text-decoration: none;
}

div.navmenu ul li a:active, div.navmenu ul li a:focus,
{
    background-color: #cfdbe6 !important;
    /*    color: #cfdbe6;  */
    color: White; 
    text-decoration: none;
}

悬停工作正常。但是,一旦我在页面上,我希望项目的背景颜色成为:活跃的。

0 个答案:

没有答案