【发布时间】:2016-06-03 17:37:19
【问题描述】:
参数字典包含参数的空条目 方法的不可为空类型“System.Int32”的“restaurantId” 'System.Web.Mvc.ActionResult 索引(Int32)' 在 'OdeToFood.Controllers.ResturantReviewsController'。一个可选的 参数必须是引用类型、可为空的类型或声明为 一个可选参数。
只有当我点击返回列表按钮时才会出现该错误
我遇到了与patron posting here 相同的错误。我已经尝试了该帖子的所有建议,但我可以添加一些未在该问题中列出的其他参考点。我注意到,当我将鼠标悬停在“返回列表”链接上时,屏幕底部的 url 不包含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);
}
【问题讨论】:
-
1) 在此处将您的错误添加到您的问题中。 2) 包括导致错误的步骤。 3) 包括你的代码和支持它的控制器代码。
-
@Jasen 我已经按照你的要求完成了
-
您需要显示相关代码-“返回”链接的查看代码和
Index()方法的签名(您似乎也对return RedirectToAction("Index", new { id = review.RestaurantId });代码行有问题也)
标签: asp.net-mvc-4 url-parameters