2010-05-17 2 views
3

Когда я использую Html.DisplayFor(), используя свойство модели, то выходит красиво и с этикеткой для имени свойства и текстовое поле или этикетку с значением свойства:ASP.NET MVC Html.Display() с помощью ViewData?

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}) 

Похоже, что единственное место, где я могу передать метку, - с параметром дополнительных данных, но я не нашел примеров или документов о том, как это сделать.

ответ

10

Html.Display() принимает строку выражение того, что можно найти в файлах viewdata, а не в представлении.

Вы хотите:

Html.Display("something"); 
+0

Да я напечатал это неправильно в этом вопросе. Но это не отвечает на вопрос. Я знаю, как отображать значение, его ярлык, который я не могу создать автоматически, с помощью Label() или LabelFor() (конечно, я всегда могу вручную вводить текст ярлыка самостоятельно) –

+0

Извините, что сказал «с помощью Display() или DisplayFor() "(not Label) –

Смежные вопросы