参数字典包含参数的空条目 'restaurantId'为非可空类型'System.Int32'的方法 'System.Web.Mvc.ActionResult Index(Int32)'中 'OdeToFood.Controllers.ResturantReviewsController'。可选的 参数必须是引用类型,可空类型或声明为 一个可选参数。
仅当我点击返回列表按钮
时才会出现错误我收到与patron posting here相同的错误。我已经尝试了该帖子上的所有建议,但我可以添加一些未在该问题上列出的其他参考点。我注意到,当我将鼠标悬停在“返回列表”链接上时,屏幕底部的网址不包含restaurantId
,这让我质疑为什么/如何在Pluralsight教程上工作。
我甚至将所有文件替换为提供的练习文件中的文件,我也得到了同样的错误。
以下是我认为导致错误的代码:
[HttpPost]
public ActionResult Edit(RestaurantReview review)
{
if (ModelState.IsValid)
{
_db.Entry(review).State = EntityState.Modified;
_db.SaveChanges();
return RedirectToAction("Index", new { id = review.RestaurantId });
}
return View(review);
}
答案 0 :(得分:0)
对于您发布的代码(它有帮助但不多,应该发布视图的代码和创建/编辑/评论操作代码),我的假设如下:
发生的事情是你有一个行动,希望收到一个restaurantId(类型为int,这意味着,不可为空)但它没有收到restaurantId的任何值,导致该异常。也许,就你所说的和查看代码而言,正是评论行动要求restaurantId没有提供它。如果评论操作有一个restaurantId作为参数,您应该使用该ID创建“返回链接”。
希望我有所帮助。此致