让我先说我知道我可以使用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 中正确分配了一个值,但它在 { } 内(我认为这很奇怪)。
我该如何做到这一点,或者为什么这不起作用?
DisplayFor()
不知道如何处理HtmlString
属性。
您应该直接打印值:@Model.Address.TwoLine