Asp.net mvc 4 参数错误的空条目来自哪里?

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的类型或声明为 可选参数 仅当我单击“返回列表”按钮时,才会发生错误 我得到的错误和你的一样。我已经尝试了所有关于这篇文章的建议,但我能够补充一些没有在这个问题上列出的其他

参数字典包含参数的空条目 方法的“System.Int32”类型不可为空的“restaurantId” 中的“System.Web.Mvc.ActionResult索引(Int32)” 'OdeToFood.Controllers.ResturantReviewsController'。可选的 参数必须是引用类型、可为null的类型或声明为 可选参数

仅当我单击“返回列表”按钮时,才会发生错误

我得到的错误和你的一样。我已经尝试了所有关于这篇文章的建议,但我能够补充一些没有在这个问题上列出的其他参考点。我注意到,当我在“返回列表”链接上悬停时,屏幕底部的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);
    }

对于您发布的代码(帮助不大,应该发布视图代码和创建/编辑/审阅操作代码),我的假设如下:

发生的情况是,您有一个操作,该操作预期接收restaurantId(int类型,即不可为null),但它没有接收restaurantId的任何值,从而导致该异常。也许,就您所说的和查看代码而言,正是Reviews操作期望餐厅不会提供它。如果Reviews操作的参数为restaurantId,则应使用该id创建“反向链接”

希望我能帮上忙


注意,

1)在此处将您的错误添加到您的问题中。2) 包括导致错误的步骤。3) 包括此视图的代码和支持此视图的控制器代码。@Jasen我已按照您的要求执行了操作。您需要显示相关代码-“返回”链接的视图代码和
Index()
方法的签名(您似乎还对
返回重定向到操作(“Index”,new)有问题{id=review.RestaurantId});
代码行)