14

我正在寻找一种方法来根据特定标准更改控制器中 ActionLink 的类(在模型中找不到,因此我无法在视图本身中编写条件)。但我似乎找不到允许我使用这个元素工作的 ViewData("name") (我认为这是可能的,但我错过了一些东西)。

在我看来,我有一个像这样的 html 助手

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

但在我的控制器中,我不确定如何引用它,如下所示添加类或 onclick 等属性。

ViewData("View").attributes.add("class", "active")
4

2 回答 2

29

您不要从控制器设置 CSS 属性,因为这是视图的问题。您可以像这样向 ActionLink 添加 HTML 属性:

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

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

 <a href="<%=Url.Action("Index", "Home")%>" class="active">View Cases</a>

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

 <% var activeClass = someCondition ? "active" : ""; %>
 <a href="<%=Url.Action("Index", "Home")%>" class="<%=activeClass%>">View Cases</a>
于 2009-06-04T17:39:29.610 回答
2

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

@model AssessmentQuestionViewModel

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

<a href="@Url.Action("Index", "Home")" class="wizard-step @newClass">View Question</a>
于 2012-07-19T00:19:55.077 回答