我目前使用C#ASP.NET MVC创建一个电子商务网站,并刚刚遇到问题。在诸如产品页面和搜索结果页面的页面上,我必须将我的控制器中的数据列表传递给ViewPage,并且工作得很好。但是,如果Viewdata等于null,则会发生空引用异常。它通过ViewData循环并显示产品或评论时发生在视图页面内部。ASP.NET MVC ViewData Null
//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
语句来检查它是否为空。
如果有人知道这样做的好方法,我真的很想知道。
哇!非常感谢您的回复,我不敢相信,我从来没有想过的,以前:)再次感谢! – 2009-01-21 21:24:47