Asp.net mvc ASP.NETMVC指定当前页面类

Asp.net mvc ASP.NETMVC指定当前页面类,asp.net-mvc,Asp.net Mvc,我希望能够根据当前路线将一个类放在一个标记上,这可以做到吗 我目前还没有使用ActionLink,但如果需要,我应该可以切换到它们,如果可能的话,我想避免使用ActionLink,因为我需要更改所有导航 例如,如果我有: <a href="/">Home</a> <a href="/About">About</a> etc 等 如果导航到/关于,我希望将其更改为: 关于当然,您可以这样做: @Html.ActionLink( "lin

我希望能够根据当前路线将一个类放在一个标记上,这可以做到吗

我目前还没有使用ActionLink,但如果需要,我应该可以切换到它们,如果可能的话,我想避免使用ActionLink,因为我需要更改所有导航

例如,如果我有:

<a href="/">Home</a>
<a href="/About">About</a>
etc
如果导航到/关于,我希望将其更改为:
关于

当然,您可以这样做:

@Html.ActionLink(
    "linkText",
    "actionName",
    null,             // routeValues
    new { @class = // just build an expression here to return the class name }

当然,你可以这样做:

@Html.ActionLink(
    "linkText",
    "actionName",
    null,             // routeValues
    new { @class = // just build an expression here to return the class name }

您想使用
ViewContext.RouteData.Values

@Html.ActionLink("About", "About",
    new { @class = ViewContext.RouteData.Values["action"] })
这将添加当前操作的名称作为链接的CSS类

或者,如果没有HtmlHelpers:

<a href="/About" class="@(ViewContext.RouteData.Values["action"])">
    About
</a>

您想使用
ViewContext.RouteData.Values

@Html.ActionLink("About", "About",
    new { @class = ViewContext.RouteData.Values["action"] })
这将添加当前操作的名称作为链接的CSS类

或者,如果没有HtmlHelpers:

<a href="/About" class="@(ViewContext.RouteData.Values["action"])">
    About
</a>

如果您不想切换到HTML Helpers to us ActionLinks,您可以使用现有的经典链接,并使用HTML.Raw输出原始HTML

 <a href="/" @Html.Raw("class=\"someclasshere\"")>Home</a>

有条件地设置类,如当前的“活动”导航,您应该同时查看控制器和操作,如:

 <a href="/" @Html.Raw(ViewContext.RouteData.Values["action"].ToString().Equals("index",StringComparison.CurrentCultureIgnoreCase) && ViewContext.RouteData.Values["controller"].ToString().Equals("home",StringComparison.CurrentCultureIgnoreCase)? "class=\"active\"": "")>Home</a>

如果您不想切换到HTML Helpers to us ActionLinks,您可以使用现有的经典链接,并使用HTML.Raw输出原始HTML

 <a href="/" @Html.Raw("class=\"someclasshere\"")>Home</a>

有条件地设置类,如当前的“活动”导航,您应该同时查看控制器和操作,如:

 <a href="/" @Html.Raw(ViewContext.RouteData.Values["action"].ToString().Equals("index",StringComparison.CurrentCultureIgnoreCase) && ViewContext.RouteData.Values["controller"].ToString().Equals("home",StringComparison.CurrentCultureIgnoreCase)? "class=\"active\"": "")>Home</a>


你真的需要在你的问题上多下点功夫,答案就不会那么抽象了。如果在问题中加入一个具体的例子(即,我不要求付出太多的努力),答案会更具体。你真的需要在你的问题上投入更多的努力,答案将不会那么抽象。如果在问题中加入一个具体的例子(即,我不要求付出太多的努力),答案会更具体。我需要知道如何添加依赖于当前路线的类,请参见修改后的问题。我需要知道如何添加依赖于当前路线的类,请参见修改后的问题。