Css 如何在MVC中动态更改Html.ActionLink的类

Css 如何在MVC中动态更改Html.ActionLink的类,css,asp.net-mvc,dynamic,html-helper,actionlink,Css,Asp.net Mvc,Dynamic,Html Helper,Actionlink,我正在寻找一种基于特定条件(在模型中找不到,因此我无法在视图本身中编写条件)更改控制器中ActionLink类的方法。但我似乎找不到允许我使用此元素的ViewData(“名称”)(我假设这是可能的,但我缺少了一些东西) 在我的视图中,我有一个这样的html帮助程序 <%=Html.ActionLink("View", "Index", "Home")%> 您不需要从控制器设置CSS属性,因为这是视图关心的问题。您可以向ActionLink添加HTML属性,如下所示: <%=

我正在寻找一种基于特定条件(在模型中找不到,因此我无法在视图本身中编写条件)更改控制器中ActionLink类的方法。但我似乎找不到允许我使用此元素的ViewData(“名称”)(我假设这是可能的,但我缺少了一些东西)

在我的视图中,我有一个这样的html帮助程序

<%=Html.ActionLink("View", "Index", "Home")%>

您不需要从控制器设置CSS属性,因为这是视图关心的问题。您可以向ActionLink添加HTML属性,如下所示:

 <%=Html.ActionLink("View Cases", "Index", "Home", new { @class="active" })%>
@model AssessmentQuestionViewModel

@{var newClass = Model.AnswerValue == 0 ? "not-answered" : string.Empty;}

<a href="@Url.Action("Index", "Home")" class="wizard-step @newClass">View Question</a>

或者,您可以“手动”构建锚定:


或者,如果需要有条件地设置活动类:

 <% var activeClass = someCondition ? "active" : ""; %>
 <a href="<%=Url.Action("Index", "Home")%>" class="<%=activeClass%>">View Cases</a>

在视图中,您可以执行以下操作:

 <%=Html.ActionLink("View Cases", "Index", "Home", new { @class="active" })%>
@model AssessmentQuestionViewModel

@{var newClass = Model.AnswerValue == 0 ? "not-answered" : string.Empty;}

<a href="@Url.Action("Index", "Home")" class="wizard-step @newClass">View Question</a>
@模型评估问题视图模型
@{var newClass=Model.AnswerValue==0?“未回答”:string.Empty;}

同意,但如果我需要基于用户凭据显示/隐藏菜单选项(webforms转换为MVC)-我如何在MVC中执行此操作?对于基于凭据显示/隐藏,请使用if块或编写HtmlHelper扩展方法来封装逻辑。如果用户经过身份验证,您可以从控制器传递一个值,然后在视图中检查该值。感谢您帮助我进行范式转换!我喜欢这种干净的分离!