向ActionLink添加类

时间:2018-10-17 07:47:33

标签: c# css asp.net-mvc controller actionlink

我有带有登录按钮的操作链接

@Html.ActionLink("Login", "Login", "Account")

它可以完美地将用户重定向到Account控制器Login动作。 但是当我尝试添加类来设置此按钮的样式时:

@Html.ActionLink("Login", "Login", "Account", new { @class = "btn btn-primary btn-lg" }) 

它确实具有样式并且看起来不错,但是会丢失控制器信息,并将用户重定向到Home/Login,而不是Account/Login

4 个答案:

答案 0 :(得分:1)

ActionLink助手中的第四个参数引用routeValues而不是htmlAttributes,这说明了为什么您被重定向到另一个Login操作。

您需要将ActionLink与5个这样的重载一起使用:

@Html.ActionLink("Login", "Login", "Account", null, new { @class = "btn btn-primary btn-lg" })

答案 1 :(得分:1)

您需要在样式之前添加一个null参数,因为它引用了routeValues

@Html.ActionLink("Login", "Login", "Account", null, new { @class = "btn btn-primary btn-lg" }) 

看看它的文档Here

答案 2 :(得分:1)

object routeValues之后有ControllerName参数,没有ActionLink(link text, action name, controller name, htmlAttributes)这样的重载,因此请尝试以下操作:

@Html.ActionLink("Login", "Login", "Account", null, new { @class = "btn btn-primary btn-lg" }) 

答案 3 :(得分:0)

代替此:

@Html.ActionLink("Login", "Login", "Account", new { @class = "btn btn-primary btn-lg" }) 

使用:

@Html.ActionLink("Login", "Login", "Account", null,new { @class = "btn btn-primary btn-lg" }) 

在5种重载方法中,您将 htmlAttributes 设置为 routeValues 。 这就是为什么它不像您所说的那样表现。