我想使用路由属性来定义MVC路由。MVC5属性路由
我有在控制器下面的代码..
[Route("MDT/Detail/{id}")]
public JsonResult Detail(int? id)
{
ITS.Models.ComputerDetail cp = GetDataFromDatabase(id.Value);
return Json(cp, JsonRequestBehavior.AllowGet);
}
如果我用这个URL(http://localhost:6481/MDT/Detail?id=1245)返回JSON数据。
但是如果我使用了(http://localhost:6481/MDT/Detail/1245),它会显示错误,说变量id是Null。
Exception Details: System.InvalidOperationException: Nullable object must have a value.
请问我可以通过使用路由属性来实现{Controller}/{Action}/{ID}路由吗?
routes.MapMvcAttributeRoutes();
中的RegisterRoutes
:
要启用属性的路由,配置过程中调用MapMvcAttributeRoutes。 –