参数字典包含非可空类型'System.Int32'的参数'testId'的空条目

时间:2013-04-18 09:10:13

标签: c# asp.net-mvc web-services

我正试图在我的控制器中调用一个动作:

使用此网址: http://localhost:5345/ManageTest/Details/5

[Authorize]
public class ManageTestController : Controller
{

public ActionResult Details(int testId)
    {

参数字典包含'MAMAdmin.Controllers.ManageTestController'中方法'System.Web.Mvc.ActionResult Details(Int32)'的非可空类型'System.Int32'的参数'testId'的空条目。可选参数必须是引用类型,可空类型,或者声明为可选参数。 参数名称:参数

1 个答案:

答案 0 :(得分:9)

看起来你正试图映射到默认路由,即:

RouteTable.Routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });

为此,请将ActionResult中的参数名称更改为id

public ActionResult Details(int id)

否则你必须使用网址:

 http://localhost:5345/ManageTest/Details?testId=5