У меня есть модель, которую я использую для представления индекса модели из базы данных, и я дал отображаемое имя для некоторых строк, в которых могут быть пробелы (т. Е. Будет дан «недельный запуск» в БД отображаемое имя «Начало недели»).
Итак, я установил отображаемое имя для моей модели так:
[DisplayName("Week Starting")]
public DateTime WeekStarting { get; set; }
и затем в заголовках таблицы для моей таблицы я использую следующую строку кода, чтобы отобразить имя поля с использованием его отображаемого имени:
@Html.LabelFor(x => x.First().WeekStarting)
Выше все работает отлично. Но я использую валидатор W3C, и он дает мне следующую ошибку для примера, который я привел:
Атрибут for элемента label должен ссылаться на элемент управления формы.
Простите, если это очевидно, но что я здесь не так делаю? Я не использую форму, я просто отображаю индекс элементов в таблице. Я попытался найти ответ и увидел, что кто-то предположил, что элементам управления формы, на которые ссылаются, нужны идентификаторы (даже если я не использую форму), но это не будет применимо в этом случае, потому что, если я попытался установить идентификатор в Индекс будет дублироваться с каждым элементом в индексе:
foreach (var item in Model.Tbms)
{
<tr><td>@item.value</td><tr>.... would be repeated for each item, and also unsure where I would put the id in any case, the td?
}
Или есть лучший способ обозначить заголовок поля, с моим предпочтительным отображаемым именем в первую очередь? Я думаю, я мог бы просто поменять @ Html.LabelFor ... на имя поля с жестким кодом, но мне нужно?