这是错误报告:
参数字典包含参数'id'的空条目 方法的非可空类型'System.Int32' 'System.Web.Mvc.ActionResult删除(Int32)'中 'Grid.Controllers.GridController'。可选参数必须是a 引用类型,可空类型,或声明为可选 参数。参数名称:参数
这是我的代码:
public ActionResult Edit(int ProductId)
{
using (var db = new radioEntities())
{
return View(db.CAT_Products.Find(ProductId));
}
}
我的路线表:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Grid", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
我的行动链接:
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ })
答案 0 :(得分:5)
当你的RouteTable(global.asax.cs)中有id
时,你必须为参数使用相同的名称:
//public ActionResult Edit(int ProductId)
public ActionResult Edit(int id)
您应该编辑(修复)ActionLink:
//@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ })
@Html.ActionLink("Edit", "Edit", new { id=item.YourKey }) // depends on your Model and other code