问题描述
我无法将多个参数从我的ajax函数传递到C#函数。当我在ajax函数中仅传递1个参数(vthaForm)时,它将正确发送到OnPostApprove方法,并填写了vthaForm中的所有属性。但是,当我尝试在ajax函数的数据中包含comment参数时,到达OnPostApprove方法的vthaForm和comment变量都没有使用适当的值初始化。
我尝试了与其他帖子不同的几种解决方案,但是没有任何运气。
如果有人能指出我正确的方向,将不胜感激。
//This is my C# code on the codebehind page Approver.cshtml.cs
public IActionResult OnPostApprove([FromBody]VthaForms vthaForm,[FromBody]string comment){;}
//This function is my Approver.cshtml razor page
//vthaform = JSON object,handler ="Approve",_comment is a string
function approveform(vthaform,handler,_comment) {
var package = {
vthaForm: vthaform,comment: _comment
};
$.ajax({
type: "POST",url: 'Approver/?handler=' + handler,data: JSON.stringify(package),beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN",$('input:hidden[name="__RequestVerificationToken"]').val());
},contentType: "application/json; charset=utf-8",dataType: "json"
}).done(function (data) {
console.log(data.name);
alert("Succesfully approved " + data.name +"'s VTHA with id: " + data.id + "." )
});
}