AJAX调用将空值传递给控制器

问题描述

我正在尝试使用POST类型的AJAX调用将数据发送到控制器,但它正在向控制器发送空值。通过此代码,我想在Microsoft Dynamics 365 CRM数据库中创建新记录。


    
            
            var formdata = new FormData();
            var rowCount = $(".newRow").length;
            var projectarray = [];
           
            var datearray = [];
            var amountarray = [];
            
            for (var i = 0; i < rowCount; i++) {
                
                projectarray[i] = $("#ProjectType_" + i).val();
               
                datearray[i] = $("#ClaimExpenseDate_" + i).val();
                amountarray[i] = $("#Amount_" + i).val();
               
                

            }
            formdata.append("projectarray",projectarray);
           
            formdata.append("datearray",datearray);
            formdata.append("amountarray",amountarray);
           
            
           
            $.ajax({
                url: "@Url.Action("SetClaimDetails","Claim")",type: "POST",data: formdata,processData: false,contenttype: false,success: function (data) {
                        debugger;
                        
                        window.location.href = "ess/claim";
                        
                        alert("Submit Successful!");
                       

                 
                    },error: function (err) {
                        
                        
                        window.location.href = "";
                        alert("Submit Failed!");
                       
                    }
               });
           
        

这是我的控制器方法,该方法存储空值而不是AJAX调用传递的值。因此,我无法在数据库中创建新记录。

public ActionResult SetClaimDetails(string projectarray,string datearray,string amountarray)
        {
            try
            {
               
                Entity item = new Entity("bam_expenseclaims");
               

                item["bam_expdate"] = Convert.ToDateTime(datearray);

                item["bam_amount"] = amountarray;

                item["bam_project"] = new EntityReference("new_project",Guid.Parse(projectarray));
                
                


                globalService.Connection.Create(item);

            }
            catch (Exception ex)
            {
                XmlConfigurator.Configure();
                ILog log = LogManager.GetLogger("TechnicalErrorAppender");
                log.Error(string.Empty);
                throw ex;
            }
            
            return View(Constant.CLaimPATH);

        }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)