Javascript 使用Ajax将多个对象发送到ASP.NET MVC控制器
我有一个ViewModel,其中包含三个ExternalProjectViewModel、CertificateUniverSityViewModel、CertificateInstitutionsViewModel的集合 CreateFreedorProfileViewModel.cs 当我想将对象发送到控制器时,首先从 获取后,将其发送到控制器操作:Javascript 使用Ajax将多个对象发送到ASP.NET MVC控制器,javascript,c#,jquery,ajax,asp.net-mvc,Javascript,C#,Jquery,Ajax,Asp.net Mvc,我有一个ViewModel,其中包含三个ExternalProjectViewModel、CertificateUniverSityViewModel、CertificateInstitutionsViewModel的集合 CreateFreedorProfileViewModel.cs 当我想将对象发送到控制器时,首先从 获取后,将其发送到控制器操作: public virtual ActionResult CreatePrfile(CreateFreelancerProfileViewMo
public virtual ActionResult CreatePrfile(CreateFreelancerProfileViewModel viewModel)
当我看到viewModel值时,我的对象计数为2,但对象属性为空。因此,我的服务器对象属性名称与客户端对象属性名称相同
本地存储值
您可以将它们作为JSON有效负载发送:
$.ajax({
url : '@Url.Action(MVC.Freelancer.Profile.CreatePrfile())',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify({
externalProjects: ExternalProjects,
certificateUniverSitys: CertificateUniverSitys,
certificateInstitutions: CertificateInstitutions
}),
success: function(result) {
alert('data sent successfully');
}
});
这假设您从这3个变量的localStorage获得的实例代表javascript数组,其中包含相应的对象。在浏览器中捕获post请求并see@Steve我在客户端做这项工作对象属性是Fill我尝试了你的代码但它没有改变你能显示得到的确切负载吗发送到服务器?我怀疑您从本地存储中获得的ExternalProject、CertificateUniversity和CertificateInstitutions不代表javascript数组。我想我们应该匹配类属性。尝试使用ExternalProjects:ExternalProjects,而不是ExternalProjects:ExternalProjects,这只是一个偶然的机会。不,JSON序列化程序将正确处理大小写。@DarinDimitrov[{ExternalProjects:{Name:wqeqwe,Body:wqewqe,Url:wqewqe}]
public virtual ActionResult CreatePrfile(CreateFreelancerProfileViewModel viewModel)
[{"ExternalProjects":{"Name":"wqeqwe","Body":"wqewqe","Url":"wqewqe"}}]
[{"CertificateUniverSity":{"Name":"sad","Description":"sadas","DateOfGets":"sad","CertificateType":"2","Field":"sadasd","UniName":"sad","CertificateUniverSityLevel":"2"}}]
$.ajax({
url : '@Url.Action(MVC.Freelancer.Profile.CreatePrfile())',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify({
externalProjects: ExternalProjects,
certificateUniverSitys: CertificateUniverSitys,
certificateInstitutions: CertificateInstitutions
}),
success: function(result) {
alert('data sent successfully');
}
});