Asp.net mvc 4 参数错误的空条目来自哪里?
参数字典包含参数的空条目 方法的“System.Int32”类型不可为空的“restaurantId” 中的“System.Web.Mvc.ActionResult索引(Int32)” 'OdeToFood.Controllers.ResturantReviewsController'。可选的 参数必须是引用类型、可为null的类型或声明为 可选参数 仅当我单击“返回列表”按钮时,才会发生错误 我得到的错误和你的一样。我已经尝试了所有关于这篇文章的建议,但我能够补充一些没有在这个问题上列出的其他参考点。我注意到,当我在“返回列表”链接上悬停时,屏幕底部的url不包含Asp.net mvc 4 参数错误的空条目来自哪里?,asp.net-mvc-4,url-parameters,Asp.net Mvc 4,Url Parameters,参数字典包含参数的空条目 方法的“System.Int32”类型不可为空的“restaurantId” 中的“System.Web.Mvc.ActionResult索引(Int32)” 'OdeToFood.Controllers.ResturantReviewsController'。可选的 参数必须是引用类型、可为null的类型或声明为 可选参数 仅当我单击“返回列表”按钮时,才会发生错误 我得到的错误和你的一样。我已经尝试了所有关于这篇文章的建议,但我能够补充一些没有在这个问题上列出的其他
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);
}
对于您发布的代码(帮助不大,应该发布视图代码和创建/编辑/审阅操作代码),我的假设如下: 发生的情况是,您有一个操作,该操作预期接收restaurantId(int类型,即不可为null),但它没有接收restaurantId的任何值,从而导致该异常。也许,就您所说的和查看代码而言,正是Reviews操作期望餐厅不会提供它。如果Reviews操作的参数为restaurantId,则应使用该id创建“反向链接” 希望我能帮上忙
注意,1)在此处将您的错误添加到您的问题中。2) 包括导致错误的步骤。3) 包括此视图的代码和支持此视图的控制器代码。@Jasen我已按照您的要求执行了操作。您需要显示相关代码-“返回”链接的视图代码和
Index()
方法的签名(您似乎还对返回重定向到操作(“Index”,new)有问题{id=review.RestaurantId});
代码行)