2010-05-17 126 views
3

当我使用使用模型的属性Html.DisplayFor(),它很好地出来既为属性名称的标签和一个文本框或与属性值标签:使用ViewData的ASP.NET MVC Html.Display()?

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参数,但我还没有找到任何示例或文档如何做到这一点。

回答

10

Html.Display()需要一个字符串表达式什么可以在viewdata中找到,而不是视图数据本身。

你想:

Html.Display("something"); 
+0

是我输入错了的问题。但是这并没有回答这个问题。我知道如何显示值,它是我无法使用Label()或LabelFor()自动创建的标签(当然,我始终可以自己手动输入标签文本) – 2010-05-18 04:58:54

+0

对不起,我想用“Display()或DisplayFor()“(不是标签) – 2010-05-18 05:08:02