Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Ajax将多个对象发送到ASP.NET MVC控制器_Javascript_C#_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript 使用Ajax将多个对象发送到ASP.NET MVC控制器

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

我有一个ViewModel,其中包含三个ExternalProjectViewModel、CertificateUniverSityViewModel、CertificateInstitutionsViewModel的集合

CreateFreedorProfileViewModel.cs

当我想将对象发送到控制器时,首先从 获取后,将其发送到控制器操作:

 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","Cer‌​tificateUniverSityLe‌​vel":"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');
    }
});