4

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

使用这个网址: 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”的空条目。可选参数必须是引用类型、可空类型或声明为可选参数。参数名称:参数

4

1 回答 1

10

看起来您正在尝试映射到默认路由,即:

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

为此,请将您的参数名称更改ActionResultid

public ActionResult Details(int id)

否则,您必须使用 URL:

 http://localhost:5345/ManageTest/Details?testId=5
于 2013-04-18T09:15:02.783 回答