2010-05-17 164 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