在Html.ActionLink中嵌套Html.DisplayFor

时间:2013-10-17 17:58:05

标签: asp.net-mvc-4 razor

我有一种情况,我希望显示一个Html.ActionLink,其文本是Html.DisplayFor调用的结果。原因是我正在利用我正在显示的属性上的UIHint属性 - 这是一个基于金额的一些颜色编码的金额。问题是正在显示编码的HTML(跨度标记和一些样式)而不是渲染的输出。这是剃刀:

@Html.ActionLink(Html.DisplayFor(modelItem => item.Balance).ToHtmlString(), "Transactions", new { id = item.ID })

所以,我的DisplayFor调用正确地找到了UIHint视图代码,但就像我说的那样,它返回原始/编码的HTML而不是渲染的输出。希望有道理。问题是我如何才能将DisplayFor调用的真实渲染输出转换为ActionLink。

链接目标本身是正确的,但链接文本已损坏。

1 个答案:

答案 0 :(得分:4)

我建议你试试这个:

<a href="@Url.Action("Transactions", new { id=item.ID})">@Html.DisplayFor(modelItem => item.Balance)</a>