是否可以在 Html.ActionLink 的 linkText 中使用 HTML 标签?例如,如果我想加粗链接文本的一部分,我会尝试类似这样的操作:
<%= Html.ActionLink("Some <b>bold</b> text", "Index")%>
但这只是输出
Some <b>bold</b> text
我知道我可以通过使用锚标记并使用 Url.Action 设置 URL 来做到这一点,但我只是想知道这是否可能。
是否可以在 Html.ActionLink 的 linkText 中使用 HTML 标签?例如,如果我想加粗链接文本的一部分,我会尝试类似这样的操作:
<%= Html.ActionLink("Some <b>bold</b> text", "Index")%>
但这只是输出
Some <b>bold</b> text
我知道我可以通过使用锚标记并使用 Url.Action 设置 URL 来做到这一点,但我只是想知道这是否可能。
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>
不; 这是不可能的。
您需要手动编写<a>
标签。
这对我有用:
@Html.Raw(@Html.ActionLink("XXX", "Index", new { }, new { @class = "FormBtn" }).ToHtmlString().Replace("XXX","<u>Back to List</u>"))
本质上使用 ActionLink 创建带有占位符的 html,用于替换您想要替换的内容 ('XXX'),然后将其转换为 HTML 字符串,用您的标记替换占位符,将字符串呈现为 HTML.Raw。
这是不可能的,但您可以HtmlHelper
为此创建一个,请参见此处或使用Url.Action
我推荐的内容。