我正试图在我的控制器中调用一个动作:
使用此网址:
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'的空条目。可选参数必须是引用类型,可空类型,或者声明为可选参数。 参数名称:参数
答案 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