【问题标题】:How to pass array data from angularjs to c# mvc model?如何将数组数据从 angularjs 传递到 c# mvc 模型?
【发布时间】:2016-05-24 15:17:10
【问题描述】:

这是我的模特

public class StudentDataModel
{
    public StudentDataModel();

    [JsonProperty("student_data")]
    public StudentData Data { get; set; }
}



public class StudentData 
{
    public StudentData ();
    [JsonProperty("name")]
    public string Name { get; set; }
    public string Description { get; set; }
    public string Id { get; set; }
    [JsonProperty("active")]
    public bool IsActive { get; set; }

}

在 javascript 文件中,我有学生数据,例如

  $scope.students=[];
$scope.saveStudent=function(){
 return $http.post("/Student/Save?studentData=" + $scope.students)
        .then(function (result) {

        });
};

在学生数组中包含学生人数。

Mvc 代码:-

public async Task<JsonNetResult> Save(List<StudentData> studentData )
    {
       return new JsonNetResult { Data = response };
    }

在上面的代码中,我想将学生数组传递给 mvc 控制器。 mvc 控制器被命中,但数据未通过。

【问题讨论】:

标签: c# angularjs asp.net-mvc-5


【解决方案1】:

创建一个请求类,并从 UI 传递这些参数

$scope.saveStudent=function(){
var inData = {'Students': JSON.stringify($scope.students)};
 return $http.post("/Student/Save?studentData=", inData )
        .then(function (result) {

        });
};

请求的 DTO 类:

public class StudentDto
{
  public string Students;
}

然后在 MVC 控制器中:

public async Task<JsonNetResult> Save(StudentDto request )
{
   var studentList = JsonConvert.DeseralizeObject<>(request.Students).ToList();     
}

【讨论】:

    【解决方案2】:

    您应该将$scope.students 发送为data,即请求方法$http.post(url, data, [config]); 的内容

    $http.post("/Student/Save", $scope.students);
    

    【讨论】:

      猜你喜欢
      • 2017-05-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2019-01-26
      相关资源
      最近更新 更多