Using HTML tags inside linkText of Html.ActionLink

Tim Banks picture Tim Banks · Feb 8, 2011 · Viewed 22.4k times · Source

Is it possible to use HTML tags in the linkText of Html.ActionLink? For instance, if I wanted to bold part of the text of a link I would try something similar to this:

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

but that just outputs

Some <b>bold</b> text

I know I could do this by using an anchor tag and setting the URL with Url.Action, but I just wanted to know if this was possible.

Answer

Nevada Williford picture Nevada Williford · Feb 8, 2011

The Html.ActionLink helper HTML encodes the link text which prevents you from embedding HTML in the link text.

For this same reason you cannot use Html.ActionLink and pass in an tag to make an image a hyperlink.

For basic styling of a link, I'd recommend using one of the Html.ActionLink overloads to specify a CSS style via the anonymous object syntax like so...

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

Unfortunately, that applies bold to the entire text of the hyperlink when what you're wanting is just the word Edit to be bold. In which case I would do this...

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

... or this ...

<a href="@Url.Action("Edit")">Please <span style="font-weight:bold;">Edit</span> Me</a>