Я не уверен, что я ищу это неправильно, но я не могу определить, как null
проверить @Html.DisplayNameFor
.
У меня есть IEnumerable<model>
, который имеетmodel.Numbers
model.Order
и model.Time
:
@Html.DisplayNameFor(Model => Model.Numbers)
и т. д.
Я пытался сделать это, но VS выдает ошибку:
@Html.DisplayNameFor(Model => Model?.Numbers)
Но я получаю это сообщение, когда нахожусь над красным волнистым контуром в VS:
Лямбда дерева выражений может не содержать нуль-распространяющий оператор
Я также пытался добавить where()
и @Html.DisplayNameFor(Model => Model.Numbers.Any())
, но они не работают.
Мой код:
@model IEnumerable<BusinessLayer.NumbersModel>
...
<table class="table table-sm">
<thead class="thead-dark">
<tr>
<th>@Html.DisplayNameFor(Model => Model.Numbers)</th>
<th>@Html.DisplayNameFor(Model => Model.Order)</th>
<th>@Html.DisplayNameFor(Model => Model.Time)</th>
</tr>
</thead>
@foreach (var item in Model)
{
if (item.Numbers != null && item.Order != null && item.Time != null)
{
<tr>
<td>@Html.DisplayFor(m => item.Numbers)</td>
<td>@Html.DisplayFor(m => item.Order)</td>
<td>@Html.DisplayFor(m => item.Time)</td>
<td><i class="m-icon--edit"></i> @Html.ActionLink("Edit", "Edit", new { id = item.ID }, new { @class = "m-numbers__link" })</td>
<td>
@using (Html.BeginForm("Delete", "Numbers", new { id = item.ID }))
{
<i class="m-icon--delete"></i> <input type="submit" value="Bin" onclick="return confirm('You are about to delete this record');" />
}
</td>
</tr>
}
}
</table>
Модель:
public class NumbersModel
{
public int ID { get; set; }
public string Numbers { get; set; }
public string Order { get; set; }
public string Time { get; set; }
}