Javascript ASP.NET MVC控制器中的后AngularJS模型到复杂模型
我试图用JavaScript创建一个模型,并通过$http.post将其发布到ASP.NETMVC控制器方法。检查发布的JSON时,会填充我的Javascript ASP.NET MVC控制器中的后AngularJS模型到复杂模型,javascript,asp.net-mvc,angularjs,Javascript,Asp.net Mvc,Angularjs,我试图用JavaScript创建一个模型,并通过$http.post将其发布到ASP.NETMVC控制器方法。检查发布的JSON时,会填充我的地址属性。但是,当点击ASP.NET MVC控制器时,所有相应的地址属性都为空 角度控制器方法: $scope.submitForm = function(isValid) { alert("Form is valid!"); var member = { TempCardNumber: $scope.tcardno,
地址
属性。但是,当点击ASP.NET MVC控制器时,所有相应的地址属性都为空
角度控制器方法:
$scope.submitForm = function(isValid) {
alert("Form is valid!");
var member = {
TempCardNumber: $scope.tcardno,
Title: $scope.title,
FirstName: $scope.firstName,
LastName: $scope.lastName,
Address: [
{
AddressLine1: $scope.address1,
AddressLine2: $scope.address2,
AddressLine3: $scope.address3,
AddressLine4: $scope.address4,
TownCity: $scope.towncity,
County: $scope.county,
PostCode: $scope.postcode,
PhoneNumber: $scope.phone
}
],
EmailAddress: $scope.email
};
$http({
method: 'POST',
url: '/Home/Index',
data: member
}).success(function (data, status, headers, config) {
});
}
发布JSON:
{"TempCardNumber":"633341677489986320","Title":"Mr","FirstName":"test","LastName":"user","Address":[{"AddressLine1":"8 Eaton Close","AddressLine2":" Hatton","TownCity":" Derby","County":" Derbyshire","PostCode":" DE65 5ED","PhoneNumber":"01234567890"}],"EmailAddress":"test@gmail.com"}
ASP.NET MVC控制器:
public ActionResult Index([FromBody]MemberModel model)
{
// do stuff
}
我已经尝试过对JSON进行字符串化,在我的文章中将其作为data:member
传递,并在ASP.NET MVC方法上使用[FromBody]
,但是model.Address
属性总是空的
我是否可以在不将每个属性发布到ASP.NET MVC控制器的情况下执行此操作
编辑:为清晰起见,添加了MemberModel POCO
// MemberModel class
public string Title {get;set;}
public string FirstName {get;set;}
public string LastName {get;set;}
public Address Address{get;set;}
public string TempCardNumber {get;set;}
public string Email {get;set;}
// Address POCO
public string AddressLine1 {get;set;}
public string AddressLine2 {get;set;}
public string AddressLine3 {get;set;}
public string AddressLine4 {get;set;}
public string TownCity {get;set;}
public string County {get;set;}
public string Postcode {get;set;}
public string PhoneNumber {get;set;}
确保您正在控制器方法上使用
[HttpPost]
属性BindModel
应该在某个地方。。。如果在服务器端的POST事件中,它应该基于输入类型的模型进行绑定,否则对象将无法正确强制转换。。你能告诉我们你的类模型MemberModel
?你不需要在某个地方设置内容类型来告诉ASP.NET MVC你正在发布JSON吗?尝试将标题:{“内容类型”:“application/json”}
添加到您的$http
请求中。MemberModel类addedhe已经说过他的控制器被击中,所以我怀疑这是问题所在。但是很高兴错了。是的,控制器被击中了-我有[HttpPost]属性,你找到解决方法了吗?我也遇到了同样的问题。请尝试将对象传递到JSON.stringify()中,并将其用作数据值