1

让我先说我知道我可以使用HTML.Raw()来显示包含在字符串中的 HTML。但是,我认为 MVC 的目的是分离代码逻辑,让前端开发人员专注于 UI 而不是逻辑。因此,我尝试完全按照我想要的样子传递模型中的所有内容。

这让我想到了我的问题。我有一个包含地址的模型。我编写了一个函数,它以几个不同的版本(单行、两行、多行)返回地址,并且我将它们设置为HtmlString对象。

public HtmlString TwoLine { get { return ReturnFullAddress(2); } }
/* function removed for brevity */

但是,当我编写以下剃须刀代码时:

@Html.DisplayFor(modelItem => item.Address.TwoLine)

视图中不返回任何文本。当我调试它时,在 Address.TwoLine 中有一个正确分配的值,但它在 {} 内(我认为这很奇怪)。

我该如何进行这项工作,或者为什么这不起作用?

4

1 回答 1

2

DisplayFor()不知道如何处理HtmlString属性。
您应该直接打印该值:@Model.Address.TwoLine

于 2012-12-05T16:23:52.730 回答