问题描述
我正在尝试使用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 (将#修改为@)