关于ASP.NET MVC的问题
初学.net的mvc,碰到一个麻烦问题,希望看到的大大能帮忙提出解决方法
问题描述:
在项目里面的一个department的控制器里面我只声明了一个带有INT参数的Edit action,但是访问URL department/edit/1的时候总是提示接受的id值不能为空, 至于global里面的路由配置采用的就是那个默认配置。。 不知道是什么原因,昨天还能正常访问,但是今天不管怎么调试都是同一个错误提示: The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method
Global路由配置如下:
// Default Route
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
------解决方案--------------------
参数ID与方法的参数类型不一致,可空类型
------解决方案--------------------
试试看
public ActionResult Edit(int? id)
{
var department = departmentRepository.GetDepartment(id);
if (department == null)
return View("Error");
var selectList = GetSelectList(department.ParentID);
ViewData["list"] = selectList;
return View(new DepartmentFormViewModel(department));
}