将Css类添加到ASP.NET MVC的ActionLink

时间:2011-12-13 13:51:28

标签: asp.net css asp.net-mvc razor

在ASP.NET MVC3中这是Razor视图中的常规动作链接:

<li>@Html.ActionLink("Home", "Index", "Home")</li>

和相关的html dom是:

<li><a href="/HomePage/">Home</a></li>

所以如果我将css类添加到<a>元素中,我的css正常工作,如下所示:

<li><a class="MyCssClass" href="/HomePage/">Home</a></li>

有人知道我该怎么办?

4 个答案:

答案 0 :(得分:6)

您可以执行此操作以传递html属性。

@Html.ActionLink("Home", "Index", "Home", new { @class = "MyCssClass" })

您也可以传递其他html属性。

@Html.ActionLink("Home", "Index", "Home", new { @class = "MyCssClass", otherAttributeName = 1 }) 

希望这会有所帮助

答案 1 :(得分:3)

<li>@Html.ActionLink("Home", "Index", "Home", new { @class = "myclass" })</li>

答案 2 :(得分:1)

使用另一个重载:

<li>@Html.ActionLink("Home", "Index", "Home", new { @class="YourClass" })</li>

答案 3 :(得分:1)

如果您使用的是较新版本的ASP.NET MVC框架,则必须为routeValues传递一个额外的参数。没有方法签名重载接受htmlAttributes作为第四个参数,所以如果你没有传入routeValues,只需传入一个null,如下所示:

@Html.ActionLink("Home", "Index", "Home", null, new { @class = "MyCssClass" })