将 class 添加到 ActionLink
Adding class to ActionLink
我有操作 link 登录按钮
@Html.ActionLink("Login", "Login", "Account")
它完美地将用户重定向到 Account
控制器 Login
操作。
但是当我尝试添加 class 来设置此按钮的样式时:
@Html.ActionLink("Login", "Login", "Account", new { @class = "btn btn-primary btn-lg" })
它确实有风格并且看起来不错,但是它丢失了控制器信息并将用户重定向到 Home/Login
,而不是 Account/Login
您的 ActionLink
帮助程序中的第四个参数指的是 routeValues
而不是 htmlAttributes
,这解释了为什么您被重定向到另一个 Login
操作。
您需要将 ActionLink
与 5 个重载一起使用,如下所示:
@Html.ActionLink("Login", "Login", "Account", null, new { @class = "btn btn-primary btn-lg" })
你需要在你的样式前加一个空参数,因为它引用了routeValues
:
@Html.ActionLink("Login", "Login", "Account", null, new { @class = "btn btn-primary btn-lg" })
查看它的文档 Here。
ControllerName
后面有object routeValues
参数,没有ActionLink(link text, action name, controller name, htmlAttributes)
这样的重载,所以试试这个:
@Html.ActionLink("Login", "Login", "Account", null, new { @class = "btn btn-primary btn-lg" })
而不是使用这个:
@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。
这就是为什么它不像你那样表现。
我有操作 link 登录按钮
@Html.ActionLink("Login", "Login", "Account")
它完美地将用户重定向到 Account
控制器 Login
操作。
但是当我尝试添加 class 来设置此按钮的样式时:
@Html.ActionLink("Login", "Login", "Account", new { @class = "btn btn-primary btn-lg" })
它确实有风格并且看起来不错,但是它丢失了控制器信息并将用户重定向到 Home/Login
,而不是 Account/Login
您的 ActionLink
帮助程序中的第四个参数指的是 routeValues
而不是 htmlAttributes
,这解释了为什么您被重定向到另一个 Login
操作。
您需要将 ActionLink
与 5 个重载一起使用,如下所示:
@Html.ActionLink("Login", "Login", "Account", null, new { @class = "btn btn-primary btn-lg" })
你需要在你的样式前加一个空参数,因为它引用了routeValues
:
@Html.ActionLink("Login", "Login", "Account", null, new { @class = "btn btn-primary btn-lg" })
查看它的文档 Here。
ControllerName
后面有object routeValues
参数,没有ActionLink(link text, action name, controller name, htmlAttributes)
这样的重载,所以试试这个:
@Html.ActionLink("Login", "Login", "Account", null, new { @class = "btn btn-primary btn-lg" })
而不是使用这个:
@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。 这就是为什么它不像你那样表现。