我在mvc 2.0中有一个用户控件,其中我有一个使用Html.ActionLink(title,action,controller)
创建的锚标签表。现在用这几个锚标签,一个将应用特定的类,这是最好的方法是什么?
Darin :)使用这个,我将不得不在视图中应用条件逻辑,我必须根据动作将类应用于几个锚标记中的一个。在这种情况下,如果我有20个锚标记,我将不得不检查20次这是否是动作。我想要一些像ActionLink这样的继承类,它将检查操作并将基于它的类仅应用于其中一个锚标记。
答案 0 :(得分:1)
有overload允许您传递html属性,例如CSS类:
<%= Html.ActionLink(title, action, controller, null, new { @class = "foo" }) %>
更新:
您还可以编写一个自定义ActionLink助手来完成这项工作:
public static class HtmlExtensions
{
public static MvcHtmlString MyActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName
)
{
if (SomeLogic())
{
// If some logic is verified you could apply the CSS class
return htmlHelper.ActionLink(
linkText,
actionName,
controllerName,
null,
new { @class = "foo" }
);
}
return htmlHelper.ActionLink(
linkText,
actionName,
controllerName,
);
}
}
然后在你看来:
<%= Html.MyActionLink(title, action, controller) %>