参数字典包含参数'EmployeeID'的空条目

时间:2017-04-21 04:35:04

标签: asp.net-mvc asp.net-mvc-4

请求网址:http://localhost:51536/Employee/AddUpdateEmployee/2

路线配置

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

控制器操作方法

[ActionName("AddUpdateEmployee"), HttpGet]
public ActionResult AddUpdate(Int64 EmployeeID)
{
    var data = (new EmployeeDb()).GetEmployee(EmployeeID);
    return View("~/Views/Employee/_AddUpdateView.cshtml", data);
}

当我在浏览器中检查网址时,我收到此错误:参数字典包含参数'EmployeeID'的空条目

1 个答案:

答案 0 :(得分:0)

这是因为当您执行/2时根据您的路线,它认为它是/{id}的值意味着id,但在行动中,参数名称为EmployeeID所以它将是null

解决方案1:

public ActionResult AddUpdate(Int64 EmployeeID) 

更改为

public ActionResult AddUpdate(Int64 id) 

解决方案2:

发送

等值

http://localhost:51536/Employee/AddUpdateEmployee?EmployeeID=2