【问题标题】:The parameters dictionary contains a null entry for parameter 'EmployeeID' [duplicate]参数字典包含参数“EmployeeID”的空条目[重复]
【发布时间】:2017-04-21 12:59:44
【问题描述】:

请求网址: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);
}

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

【问题讨论】:

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


    【解决方案1】:

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

    解决方案 1:

    public ActionResult AddUpdate(Int64 EmployeeID) 
    

    改成

    public ActionResult AddUpdate(Int64 id) 
    

    解决方案 2:

    发送类似的值

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-12
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      相关资源
      最近更新 更多