В настоящее время я создаю сайт электронной коммерции с использованием C # ASP.NET MVC и только что столкнулся с проблемой. На таких страницах, как страницы продукта и страницы результатов поиска, я должен передавать списки данных с моего контроллера на ViewPage, и это прекрасно работает. Однако исключение нулевой ссылки возникает, если Viewdata равно нулю. Это происходит внутри страницы просмотра, когда она просматривает данные ViewData и отображает продукты или отзывы.
// ProductController.cs
public ActionResult Products_Sub(string category, int page)
{
ViewData["Products"] = database.GetByCategory(category, page);
return View();
}
// ViewPage.cs - цикл продукта
<ul> foreach (E_Store.Models.Product product in ViewData["Products"] as
List<e_store.models.product>)
{%>
<li>
<img alt="<%= product.Title%>" src="<%= product.Thumbnail %>" />
<a href="/<%=product.Category %>/<%= product.SubCategory %>/<%= product.ASIN %>/1">
<%=product.Title%></a>
</li>
}%>
</ul>
Исключение Null Reference возникает, когда достигается следующий фрагмент кода:
<ul> foreach (E_Store.Models.Product product in ViewData["Products"] as
То, что я хотел бы знать, - это лучший способ отследить этот тип ошибки, если она действительно произошла, не прибегая к операторам if
, проверяющим, является ли она нулевой.
Если кто-нибудь знает хороший способ сделать это, я бы очень хотел знать.