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

时间:2016-06-28 13:09:00

标签: jquery ajax model-view-controller

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

的Ajax:

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

控制器: -

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

我也试过

data: JSON.stringify(employee,File_ID)

我知道这是错的,但在这里我只得到第一个参数。

2 个答案:

答案 0 :(得分:2)

试试这个,

 var empData= JSON.stringify({ EmpDetail: employee, File_ID: File_ID });

和ajax,

return $http({
          method: "post",
          url: "/myform/AddEmployee",
          data: empData,
          dataType: "json"
      })
希望有所帮助。

答案 1 :(得分:0)

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

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