#asp.net #.net #asp.net-mvc
#asp.net #.net #asp.net-mvc
Вопрос:
У меня очень странное исключение NullReferenceException. Это странно, потому что страница отображается правильно(с данными) без исключения, пока я не нажму правой кнопкой мышиgt;Проверить страницу, а затем не получу исключение NullReferenceException. Даже я сначала проверяю, является ли CartOrder нулевым или нет, плюс, чтобы убедиться, что у CartOrder есть предметы.
Исключением является отображение в строке if(Модель.CartOrder != ноль) .
@{ var totalQt = 0; if(Model.CartOrder != null) { if (Model.CartOrder.Count gt; 0) { foreach (var item in Model.CartOrder) { foreach (var order in item.Orders) { totalQt = totalQt order.Quantity; } } } } lt;h3 class="cart-num-of-items"gt;Cart lt;span class="cart-num-counter"gt;(@totalQt items)lt;/spangt;lt;/h3gt; }
Ошибка:
System.NullReferenceException: 'Object reference not set to an instance of an object.' Microsoft.AspNetCore.Mvc.Razor.RazorPagelt;TModelgt;.Model.get returned null.
Комментарии:
1. Попробуйте еще раз, добавьте
?
в свой если,if(Model?.CartOrder != null)
2. Это решило мою проблему. Модель представления не имеет никаких дополнительных параметров, что может вызвать эту проблему? кстати, спасибо вам!
3. Это потому, что вы
CartOrder
равны нулю, если это строка , используйтеstring.IsNullOrEmpty
, примерif(string.IsNullOrEmpty(Model?.CartOrder))
4. Но если CartOrder равен нулю, данные отображаться не будут. Однако все данные есть, пока я не попытаюсь просмотреть страницу. Вот почему я сначала пытаюсь проверить, не является ли оно нулевым и . Функция Count() содержит некоторые данные, а затем отображает их. В любом случае, спасибо! 🙂