当我从控制器重定向到视图时,我收到NullReferenceException。我尝试调试,但调试器在进入View时停止并抛出异常。
以下是我在View中的代码。
@model MvcApplication2.Models.Product
@{
ViewBag.Title = "ProductDetails"; //NullReferenceException Here. If I comment this line, then page doesn't even load, and I get "No Souce found".
}
<div class="span9">
<ul class="breadcrumb">
<li><a href=@Url.Action("Index", "Home") >Home</a> <span class="divider">/</span></li>
<!--<li><a href= >Products</a> <span class="divider">/</span></li>-->
<li class="active">product Details</li>
</ul>
</div>
我在Controller中的代码,它重定向到此视图。
public ActionResult ProductDetails(int productID=0)
{
//read product from the database
Product product = (from item in shoppingDb.products where item.ID == productID select item).SingleOrDefault();
Session["CurrentUrl"] = "/Products/ProductDetails?productID=" + productID;
//Session["ReturnProductsUrl"] = Request.Path.ToString();
//ViewBag.Comment = "this is test";
return View(product);
}
我正在测试此代码,方法是将 productID = 1 作为参数传递给网址。
这是我的数据库快照,显示我有一个ID = 1的条目。
DatabaseSnapshot http://i60.tinypic.com/dmz8r7.jpg
以下是一些事情: 1.我将一个对象传递给控制器的视图。 2.如果我注释掉ViewBag.Title行,那么我也得到相同的异常 我通过调试观察到控制器中的产品对象不为空。 4.我尝试将一些数据添加到ViewBag中,但结果仍然相同。
这段代码工作正常好几天,突然开始得到这个例外。不知道这个问题是什么..我到处搜索我得不到正确答案。