Angularjs $http.post, но контроллер asp.net 5 обнуляется

В моем коде angularjs у меня есть это:

$http.post("Home/PostData", {name:'Peter',age:18}).success(function (response) {

});

И у меня есть этот метод в моем контроллере asp.net 5:

[HttpPost]
public IActionResult PostData(string name,int age)
{

}

Я поставил точку останова на метод, и его уволили, но меня зовут ноль, а возраст 0.

Я делал это раньше, используя asp.net mvc 5, и это сработало.

Почему не так в asp.net 5?

4 ответа

Решение

Измените код вашего контроллера, как показано ниже:

public class PostModel
{
    public string name { get; set; }
    public int age { get; set; }
}
[HttpPost]
public IActionResult PostData([FromBody]PostModel model)
{

}

В моем случае имя параметра контроллера совпадает с именем свойства в модели. Его не удалось по этой причине.

Для бывшего в контроллере публичный метод JsonResult (имя BindingModel, ViewState viewState)

в BindingModel--

класс BindingModel{строка имя, строка фамилия}

Попробуй это

 $http.post("Home/PostData",{ name: "Peter", age:18}).success(function (response){

    });

Использование,

$http.post("Home/PostData", { params: {name:'Peter',age:18}}).success(function (response) {

});
Другие вопросы по тегам