是否可以在Html.ActionLink的linkText中使用HTML标记?例如,如果我想加粗链接文本的一部分,我会尝试类似的东西:
<%= Html.ActionLink("Some <b>bold</b> text", "Index")%>
但这只是输出
Some <b>bold</b> text
我知道我可以通过使用锚标记并使用Url.Action设置网址来实现此目的,但我只是想知道这是否可行。
答案 0 :(得分:31)
Html.ActionLink助手HTML对链接文本进行编码,阻止您在链接文本中嵌入HTML。
出于同样的原因,你不能使用Html.ActionLink并传入一个标签来使图像成为超链接。
对于链接的基本样式,我建议使用其中一个Html.ActionLink重载来通过匿名对象语法指定CSS样式,如此...
@Html.ActionLink("Please Edit Me", "Edit", null, new { style="font-weight:bold;" })
不幸的是,当你想要的只是单词Edit to 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>
答案 1 :(得分:7)
没有;这是不可能的。
您需要手动编写<a>
标记。
答案 2 :(得分:1)
这对我有用:
@Html.Raw(@Html.ActionLink("XXX", "Index", new { }, new { @class = "FormBtn" }).ToHtmlString().Replace("XXX","<u>Back to List</u>"))
基本上使用ActionLink创建带有占位符的html,以替换要替换的内容(&#39; XXX&#39;),然后将其转换为HTML字符串,将替换占位符替换为标记,将字符串呈现为HTML .RAW。
答案 3 :(得分:0)
这是不可能的,但您可以为此创建HtmlHelper
,请参阅here或使用Url.Action
而不是我推荐的内容。