当我使用Html.DisplayFor()使用模型的属性时,它与属性名称的标签和带有属性值的文本框或标签很好地结合在一起:
Html.DisplayFor(model => model.FirstName) // renders as First Name: Joe Smith
但是如果我尝试在ViewData中使用相同的东西,它似乎没有任何方法来指定将在渲染的html中的标签中使用的文本:
Html.Display(ViewData["something"].ToString()) // renders as (no label) something
其他Html.Display()参数看起来没有帮助:
Html.Display(ViewData["something"].ToString(), "TemplateName", "HtmlElementId", {additionalData})
看起来我可能传递标签的唯一地方是使用additionalData参数,但我没有找到任何关于如何执行此操作的示例或文档。
答案 0 :(得分:10)
Html.Display()接受一个字符串 expression ,它在viewdata中找不到的内容,而不是视图数据本身。
你想:
Html.Display("something");