19

是否可以在 Html.ActionLink 的 linkText 中使用 HTML 标签?例如,如果我想加粗链接文本的一部分,我会尝试类似这样的操作:

<%= Html.ActionLink("Some <b>bold</b> text", "Index")%>

但这只是输出

Some <b>bold</b> text

我知道我可以通过使用锚标记并使用 Url.Action 设置 URL 来做到这一点,但我只是想知道这是否可能。

4

4 回答 4

32

Html.ActionLink 帮助器 HTML 对链接文本进行编码,以防止您将 HTML 嵌入链接文本中。

出于同样的原因,您不能使用 Html.ActionLink 并传入标签以使图像成为超链接。

对于链接的基本样式,我建议使用 Html.ActionLink 重载之一通过匿名对象语法指定 CSS 样式,如下所示...

@Html.ActionLink("Please Edit Me", "Edit", null, new { style="font-weight:bold;" })

不幸的是,当您想要的只是将“编辑”一词加粗时,这会将粗体应用于超链接的整个文本。在这种情况下,我会这样做......

<a href="@Url.Action("Edit")">Please <b>Edit</b> Me</a>

... 或这个 ...

<a href="@Url.Action("Edit")">Please <span style="font-weight:bold;">Edit</span> Me</a>
于 2011-02-08T19:37:04.873 回答
8

不; 这是不可能的。
您需要手动编写<a>标签。

于 2011-02-08T18:12:55.510 回答
1

这对我有用:

@Html.Raw(@Html.ActionLink("XXX", "Index", new { }, new { @class = "FormBtn" }).ToHtmlString().Replace("XXX","<u>Back to List</u>"))

本质上使用 ActionLink 创建带有占位符的 html,用于替换您想要替换的内容 ('XXX'),然后将其转换为 HTML 字符串,用您的标记替换占位符,将字符串呈现为 HTML.Raw。

于 2016-08-19T18:22:21.770 回答
0

这是不可能的,但您可以HtmlHelper为此创建一个,请参见此处或使用Url.Action我推荐的内容。

于 2011-02-08T18:21:13.180 回答