【问题标题】:nesting Html.DisplayFor within Html.ActionLink在 Html.ActionLink 中嵌套 Html.DisplayFor
【发布时间】:2013-10-26 08:47:37
【问题描述】:

我有一种情况,我想显示一个 Html.ActionLink,其文本是 Html.DisplayFor 调用的结果。原因是我利用了我正在显示的属性上的 UIHint 属性——它是一个美元金额,并根据金额进行了一些颜色编码。问题是编码的 HTML(一个跨度标记和一些样式)正在显示而不是呈现的输出。这是剃须刀:

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

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

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

【问题讨论】:

  • 你试过用 Html.Raw 代替 Html.DisplayFor 吗?

标签: asp.net-mvc-4 razor


【解决方案1】:

我建议你试试这个:

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

【讨论】:

  • 哇!将在 5 分钟内记入您的答案....所以显然不会让我早点这样做。
  • 太棒了!!很高兴它有帮助;)
猜你喜欢
  • 2013-01-02
  • 2023-03-11
  • 2011-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-31
相关资源
最近更新 更多