Javascript 将空值传递给控制器的AJAX调用
我试图使用POST类型的AJAX调用向控制器发送数据,但它向控制器发送空值。通过这段代码,我想在Microsoft Dynamics 365 CRM数据库中创建新记录Javascript 将空值传递给控制器的AJAX调用,javascript,c#,ajax,asp.net-mvc,Javascript,C#,Ajax,Asp.net Mvc,我试图使用POST类型的AJAX调用向控制器发送数据,但它向控制器发送空值。通过这段代码,我想在Microsoft Dynamics 365 CRM数据库中创建新记录 var formdata = new FormData(); var rowCount = $(".newRow").length; var projectarray = [];
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!");
}
});
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);
}
尝试将控制器输入参数更改为-SetClaimDetails(string[]projectarray、string[]datearray、string[]amountarray),并相应地更改控制器内部的代码。ActionResult SetClaimDetails需要3个参数,在AJAX调用期间将它们传入数据。