например у меня есть класс
public class Car
{
public string Name { get; set; }
public string Brand { get; set; }
public string Color { get; set; }
}
и у меня есть представление с моделью в виде списка
@model IEnumerable<Car>
Теперь я хочу отобразить необработанное displayName свойства listItem (модель).
Пример кода:
@model IEnumerable<Car>
//(..)
<thead>
<tr>
<th>"[@Html.DisplayName(Model.First().Name))]"</th>
<th>Brand</th>
<th>Color</th>
</tr>
</thead>
Как мне это сделать?
ОБНОВИТЬ
Я нашел решение в создании нового вспомогательного класса: нажми на меня
Возможный дубликат Получить атрибут [DisplayName] свойства строго типизированным способом





Используйте LabelFor
<th>@Html.LabelFor(p => p.First().Name)<th>
Не забудьте атрибут отображения в классе автомобиля
[DisplayName("Car Name")]
public string Name { get; set; }
с помощью LabelFor я получу желаемое отображаемое имя в «метке», но я хочу иметь исходное значение: <th>Name</th>, а не <th><label>Name</label></th>.
Хорошо, вы можете получить это путем отражения, используя System.Reflection; var name = ((DisplayAttribute) (typeof (Car) .GetProperty ("Name"). GetCusto mAttribute (typeof (Di splayAttribute)))). N ame;
Вы можете получить
<th>DisplayName</th>
используя
@Html.DisplayNameFor(model => model.First().Name)
Решение, которое вы использовали, довольно старое и не использует встроенный помощник.
@PeterB с помощью «Model.First ()» я могу получить доступ к значениям свойств. Но на самом деле я хочу отображать не значения, а отображаемое имя свойства.