可能您的操作链接呈现如下内容:
<a href="home/display/1" class="h1">Move to display.aspx</a>
<a href="display">Move to display.aspx</a>
它们之间的区别在于第一个将 css 类设置为h1
样式类(而不是标签),然后将 1 作为 url 上的 id 参数传递给家庭控制器上的显示操作方法。第二个是显示动作方法(如果它在家庭控制器的视图中,它将进入家庭控制器的显示动作方法),它没有设置任何 css 类。两个操作链接都将文本呈现为Move to display.aspx
. 如果您没有 h1 类设置的 css,则这种情况下的 htmlAttributes 没有区别。
你能做什么
首先,在您的 css 文件中创建一个具有有效名称的样式表,如下所示:
.display {
color: blue;
/* other css properties*/
}
class
在您看来,使用在属性上设置的此样式表呈现链接:
<%=Html.ActionLink("Move To Display", "Display", "Home", new { id = 1 }, new { @class="display" }) %>
关于 htmlAttributes
htmlAttributes 参数是一个对象,其中包含要为元素设置的 HTML 属性。例如,如果您想在输出链接中添加一个 css 类,您可以通过此参数添加此属性,例如rel
, title
, tabindex
, javascript 事件等onclick
。
您在方法中有很多重载Html.ActionLink
。您不需要传递此参数,但如果您需要具有此参数的重载,您可以只传递,null
并且不会在您的 html 中输出任何内容。如果你这样做:
@Html.ActionLink("Text Link", "Action", "Controller", new { id = 5 }, new { @class = "button", title = "Some Title Content", rel = "10" })
如果将是以下签名方法:
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
Object routeValues,
Object htmlAttributes
)
它会渲染
<a href="Controller/Action/5" class="button" title="Some Title Content" rel="10">Text Link</a>