ASP.NET 主页导航当前页 Css
ASP.NET Masterpage nav current page Css
我正在尝试根据当前显示的页面设置 导航栏 中 LinkButton 的背景颜色。如果在那个页面上,我希望它是橙色的,如果不在该页面上,我希望它是黑色的。
我现在有这个:
<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 事件仅用于在页面之间导航。
我不太喜欢在代码中添加样式,但我认为您别无选择,只能使用服务器端代码或 Javascript。以下是使用 C# 服务器端代码执行此操作的方法,使用 LinkButton
的 CommandArgument
来存储页面名称:
<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;
}
%>
我正在尝试根据当前显示的页面设置 导航栏 中 LinkButton 的背景颜色。如果在那个页面上,我希望它是橙色的,如果不在该页面上,我希望它是黑色的。
我现在有这个:
<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 事件仅用于在页面之间导航。
我不太喜欢在代码中添加样式,但我认为您别无选择,只能使用服务器端代码或 Javascript。以下是使用 C# 服务器端代码执行此操作的方法,使用 LinkButton
的 CommandArgument
来存储页面名称:
<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;
}
%>