我有以下Html:
这被呈现为:
但是,当我点击这个时,我收到以下错误:
参数字典包含非可空类型'System.Int32'的参数'id'的空条目,用于'MyProject.Controllers.ProductController'中的方法'System.Web.Mvc.ActionResult Details(Int32)'.可选参数必须是引用类型,可空类型,或者声明为可选参数.
参数名称:参数
我的路由似乎不喜欢"?ProductId = 1"查询字符串.
如果我改用:
我得到以下链接呈现:
...单击时这可以正常工作.
我错过了一些基本的东西吗?我想使用RouteValues,但我不明白为什么会抛出这个错误.如何让Controller方法接受查询字符串参数?
我唯一的路线映射是:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);