Jquery 无法在MVC控制器中获取所有ajax参数

Jquery 无法在MVC控制器中获取所有ajax参数,jquery,ajax,model-view-controller,Jquery,Ajax,Model View Controller,创建对控制器的ajax调用时,仅获取第二个参数 阿贾克斯: 控制器:- public string AddEmployee(EmpDetail Emp, int? File_ID) { .... } 型号:- public partial class EmpDetail { public int Id { get; set; } public string name { get; set; } public S

创建对控制器的ajax调用时,仅获取第二个参数

阿贾克斯:

控制器:-

public string AddEmployee(EmpDetail Emp, int? File_ID)
      {
       ....
}
型号:-

 public partial class EmpDetail
    {
        public int Id { get; set; }
        public string name { get; set; }
        public System.DateTime DOB { get; set; }
        public string Gender { get; set; }
        public string Email { get; set; }
        public string Mobile { get; set; }
        public string Address { get; set; }
        public System.DateTime JoiningDate { get; set; }
        public int DepartmentID { get; set; }
        public int DesignationID { get; set; }
        public Nullable<int> FileId { get; set; }
        public Nullable<int> CountryId { get; set; }
        public Nullable<int> StateId { get; set; }
    }
我知道这是错误的,但这里我只得到第一个参数。

试试这个

 var empData= JSON.stringify({ EmpDetail: employee, File_ID: File_ID });
还有阿贾克斯

return $http({
          method: "post",
          url: "/myform/AddEmployee",
          data: empData,
          dataType: "json"
      })

希望有帮助。

您可以发送javascript对象而不是字符串

return $http({
              method: "post",
              url: "/myform/AddEmployee",
              data: { EmpDetail: employee, File_ID: File_ID },              
              dataType: "json"
          })

你试过直接提供物品吗?将JSON字符串拼凑在一起是一种非常脆弱的方法,加上将
EmpDetail
作为字符串提供可能会给ModelBinder带来问题<代码>数据:{EmpDetail:employee,File_ID:File_ID},我尝试过这个,也尝试过这个数据:{EmpDetail:JSON.stringify(employee),File_ID:File_ID},但是只有第二个参数是blankEmpDetails,这里是空的,仅获取文件_ID@SunilChaudhry您的employee变量应与控制器中所需的参数同名。我正在传递相同的参数name@SunilChaudhry在控制器中;数据“employee”中的参数名“Emp”。EmpDetails为空,只有获取文件ID才能更新代码并输入员工变量EmpDetails或EmpDetail的值?您发送的变量是EmpDetail
return $http({
          method: "post",
          url: "/myform/AddEmployee",
          data: empData,
          dataType: "json"
      })
return $http({
              method: "post",
              url: "/myform/AddEmployee",
              data: { EmpDetail: employee, File_ID: File_ID },              
              dataType: "json"
          })