在我的angularjs代码中,我有这个:
$http.post("Home/PostData", {name:'Peter',age:18}).success(function (response) {
});
我的asp.net 5控制器中有这个方法:
[HttpPost]
public IActionResult PostData(string name,int age)
{
}
我已经在方法上设置了一个断点并且它被触发了,但是我的名字是null而且age是0。
之前我已经通过使用asp.net mvc 5完成了这项工作。
为什么asp.net 5出错了?
答案 0 :(得分:1)
更改您的控制器代码,如下所示:
public class PostModel
{
public string name { get; set; }
public int age { get; set; }
}
[HttpPost]
public IActionResult PostData([FromBody]PostModel model)
{
}
答案 1 :(得分:0)
使用,
$http.post("Home/PostData", { params: {name:'Peter',age:18}}).success(function (response) {
});
答案 2 :(得分:0)
试试这个
$http.post("Home/PostData",{ name: "Peter", age:18}).success(function (response){
});
答案 3 :(得分:0)
在我的情况下,控制器参数名称与模型中的属性名称相同。因此失败。
用于Ex-in控制器 公共JsonResult方法(BindingModel 名字,ViewState viewState)
在BindingModel中
Class BindingModel { 字符串名字, 字符串姓氏 }