2016-05-24 3 views
0

Это моя модельКак передать данные массива из angularjs в модель C# mvc?

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 был удален, но данные не были переданы.

+0

Смотрите, если это помогает: http://stackoverflow.com/questions/30957248/how-to-send-post-in-angularjs-with-multiple-params/30957308#30957308 – Sajal

+0

'$ http.post («/ Student/Save», $ scope.students); – Satpal

ответ

2

Создать класс запроса, и передать эти параметры образуют интерфейс

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