Asp.net mvc 参数字典包含参数';员工ID';

Asp.net mvc 参数字典包含参数';员工ID';,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,请求URL: 路由配置 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller

请求URL:

路由配置

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);
}

当我在浏览器中检查url时,我得到了以下错误:参数字典包含参数'EmployeeID'的空条目

这是因为根据您的路线,当您执行
/2
时,它会将其视为
/{id}的值
表示
id
,但在实际操作中,参数名称是
EmployeeID
,因此它将为
null

解决方案1:

public ActionResult AddUpdate(Int64 EmployeeID) 
改为

public ActionResult AddUpdate(Int64 id) 
解决方案2:

public ActionResult AddUpdate(Int64 EmployeeID) 
发送值,如