有没有办法以空安全的方式在 Razor 视图中导航对象图(没有@if
保护块?
例如,我有以下内容Index.cshtml
:
@foreach (Store.Models.Product product in @Model)
{
<tr>
<td>@product.Id</td>
<td>@product.ProductName</td>
<td>@String.Format("{0:C}", @product.Price)</td>
<td>@product.Quantity</td>
@if (@product.Category != null)
{
<td>@product.Category.CategoryName</td>
}
else
{
<td></td>
}
</tr>
}
并非我的所有产品都有类别。当它们不存在时,Product.Category
为空。
我真正想做的是能够安全地导航对象图,而不必担心会NullReferenceException
炸毁视图。
在 Groovy/Grails 中,我习惯于使用Safe Navigation Operator,并且会执行以下操作:
<td>@product?.Category?.CategoryName</td>
当然,这在 Razor 中不起作用。
Razor 中是否有任何等价物?