@ Html.Display()和@ Html.DisplayText()之间的确切区别是什么?两者都给出相同的输出。 我有一个模型类Employee,它有一个属性
Name = "my Name".
我正在使用Html帮助程序 -
@Html.Display("Name")
@Html.DisplayText("Name")
两种方法的输出都是“我的名字”
答案 0 :(得分:3)
您可以检查Display和DisplayText的源代码。
@Html.DisplayText(propertyName)
只会输出属性的值(由SimpleDisplayText
的{{1}}定义。)
ModelMetadata
提供了更多选择。如果您从属性类型中提供了@Html.Display(propertyName)
,则默认情况下它将使用该模板中的html。您还可以指定用于生成html的特定模板名称。此外,您可以使用DisplayTemplate
的{{1}}参数将其他信息传递给模板。
在您的情况下,您的属性为additionalViewData
,而您尚未为Display()
定义string
,因此DisplayTemplate
使用生成的默认(内置)模板与string