【发布时间】:2010-10-02 15:05:30
【问题描述】:
我目前正在使用 C# ASP.NET MVC 创建一个电子商务网站,但遇到了一个问题。在产品页面和搜索结果页面等页面上,我必须将数据列表从我的控制器传递到 ViewPage 并且效果很好。但是,如果 Viewdata 等于 null,则会发生 null 引用异常。当它遍历 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>
当到达以下代码段时会发生空引用异常:
<ul> foreach (E_Store.Models.Product product in ViewData["Products"] as
我想知道的是,如果确实发生这种类型的错误,最好的方法是捕获它,而无需使用if 语句来检查它是否为空。
如果有人知道这样做的好方法,我真的很想知道。
【问题讨论】:
标签: c# asp.net-mvc .net-3.5