Подтвердить что ты не робот

Когда следует использовать Html.Displayfor в MVC

Я новичок в MVC и знаю, как использовать Html.Displayfor(), но я не знаю, когда его использовать?

Любая идея?

4b9b3361

Ответ 1

Помощник DisplayFor отображает соответствующий шаблон отображения для данного типа. Вы должны использовать его, например, если вы хотите персонализировать каким-то образом этот шаблон. Или с коллекционными свойствами. При использовании с свойством коллекции соответствующий шаблон автоматически будет отображаться для каждого элемента коллекции.

Вот как это работает:

@Html.DisplayFor(x => x.SomeProperty)

отобразит шаблон по умолчанию для данного типа. Например, если вы украсили свое свойство модели просмотра с помощью некоторых параметров форматирования, это будет учитывать эти параметры:

[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime SomeProperty { get; set; }

и если в вашем представлении вы используете помощник DisplayFor, он будет отображать свойство, учитывая этот формат, тогда как если бы вы использовали просто @Model.SomeProperty, он не будет соблюдать этот пользовательский формат.

но не знаете, когда его использовать?

Используйте это всегда, когда вы хотите отобразить значение из вашей модели представления. Всегда используйте:

@Html.DisplayFor(x => x.SomeProperty)

вместо:

@Model.SomeProperty

Ответ 2

Я расширяю ответ @Darin.

Html.DisplayFor(model => model.SomeCollection) будет перебирать элементы в SomeCollection и отображать элементы, используя DisplayFor() рекурсивно.