【问题标题】:ASP.NET Masterpage nav current page CssASP.NET Masterpage nav 当前页面 Css
【发布时间】:2015-10-30 13:29:51
【问题描述】:

我正在尝试根据当前显示的页面设置 导航栏 中 LinkBut​​ton 的背景颜色。如果在该页面上,我希望它是橙色的,如果不是,我希望它是黑色的。

我现在有这个:

<nav>
    <asp:LinkButton ID="lnkB1TSUser" runat="server" OnClick="lnkB1TSUser_Click">B1TS User</asp:LinkButton>
    <asp:LinkButton ID="lnkClient" runat="server" OnClick="lnkClient_Click">Client</asp:LinkButton>
    <asp:LinkButton ID="lnkUserClient" runat="server" OnClick="lnkUserClient_Click">User Client</asp:LinkButton>
</nav>

我一般都知道如何做 CSS,但我不知道如何将我所在的特定页面设置为背景。

如果我让两个 CSS 类处于活动状态和非活动状态:

.active {
  background-color: orange;
}
.inactive {
  background-color: black;
}

这会帮助我实现这一点吗?如果我能突出显示(橙色)我正在积极使用的页面,那就太好了。而且我不知道如何使用母版页来做到这一点。非常感谢您的帮助。

目前 onclick 事件仅用于在页面之间导航。

【问题讨论】:

标签: html css asp.net master-pages nav


【解决方案1】:

我不太喜欢在代码中添加样式,但我认为您别无选择,只能使用服务器端代码或 Javascript。以下是使用 C# 服务器端代码的方法,使用 LinkButtonCommandArgument 存储页面名称:

<nav>
    <asp:LinkButton CommandArgument="page.aspx" ID="lnkB1TSUser" runat="server" OnClick="lnkB1TSUser_Click">B1TS User</asp:LinkButton>
    <asp:LinkButton CommandArgument="page2.aspx" ID="lnkClient" runat="server" OnClick="lnkClient_Click">Client</asp:LinkButton>
    <asp:LinkButton CommandArgument="page3.aspx" ID="lnkUserClient" runat="server" OnClick="lnkUserClient_Click">User Client</asp:LinkButton>
</nav>
<%
    foreach(var control in new LinkButton[] { lnkB1TSUser, lnkClient, lnkUserClient })
    {
        if (HttpContext.Current.Request.Url.AbsolutePath.EndsWith(control.CommandArgument))
            control.ForeColor = System.Drawing.Color.Orange;
    }
%>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-30
    • 2014-10-17
    • 2012-12-15
    • 2020-10-08
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    相关资源
    最近更新 更多