Первая проблема с вашим кодом заключается в том, что вы пытаетесь использовать HTML в тексте ссылки (теги <b>
), что невозможно, потому что по своей конструкции он всегда кодирует HTML.
Итак, если вы неЕсли вам не нужен HTML-код в ссылке, вы можете сделать это:
@Html.ActionLink(d.Title, "Details", "Destinations", new { id = "35" }, null)
И, предполагая, что вам нужен HTML-код внутри якоря, у вас есть несколько возможностей:
Написатьпользовательский помощник ActionLink, который не будет кодировать HTML-текст (рекомендуется), а затем использовать его так:
@Html.MyBoldedActionLink(d.Title, "Details", "Destinations", new { id = "35" }, null)
Что-то вроде строки:
<a href="@Url.Action("Details", "Destinations", new { id = "35" })">
<b>@d.Title</b>
</a>
и так как я рекомендую первый подход, вот пример реализации пользовательского помощника:
public static class HtmlExtensions
{
public static IHtmlString MyBoldedActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
object routeValues,
object htmlAttributes
)
{
var anchor = new TagBuilder("a");
anchor.InnerHtml = string.Format("<b>{0}</b>", htmlHelper.Encode(linkText));
var urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);
anchor.Attributes["href"] = urlHelper.Action(actionName, controllerName, routeValues);
anchor.MergeAttributes(new RouteValueDictionary(htmlAttributes));
return new HtmlString(anchor.ToString());
}
}