C# 使用Ajax将可手持数据传递到ASP.NET函数时出错500
在使用Ajax将可手持数据发布到ASP.NET代码隐藏函数时,我遇到错误500内部错误。我不明白我错在哪里。请帮忙 我的Ajax代码:C# 使用Ajax将可手持数据传递到ASP.NET函数时出错500,c#,jquery,asp.net,ajax,C#,Jquery,Asp.net,Ajax,在使用Ajax将可手持数据发布到ASP.NET代码隐藏函数时,我遇到错误500内部错误。我不明白我错在哪里。请帮忙 我的Ajax代码: function SaveData() { // Check What's Getting Updated for(var i in changedData){ console.log(changedData[i]); } // Aj
function SaveData() {
// Check What's Getting Updated
for(var i in changedData){
console.log(changedData[i]);
}
// Ajax Call
$.ajax({
type: "POST",
url: "StudentHandsOn.aspx/SaveData",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(changedData),
success: function (changes) {
console.log('Data Updated: '+changedData);
},
error: function (thrownError) {
alert("Error" + thrownError);
}
});
}
我的C代码是:
[WebMethod]
public static void SaveData(List<Student> students)
{
StudentHandsOn handsOn = new StudentHandsOn();
handsOn.displayMessage();
}
public void displayMessage()
{
Response.Write("<script>alert('Function Called.... Working Fine ');</script>");
}
POST 500内部服务器错误
更新:
我在代码中添加了几行:
var studentData = JSON.stringify(changedData) ;
console.log(studentData);
并将SaveData方法中的参数类型更改为List。我在控制台中得到输出
[["st_01","Albert ",3,"CE ","Angela ",70,90,90,250,83.33333333333333,"B "],["st_02","Inger ",2,"CE ","Angela ",67,98,99,264,88,"B "],["st_03","Hamlet ",1,"EE ","Emily ",60,60,60,180,60,"D "],["st_04","Jiny ",4,"CS ","Vannila ",100,80,70,250,83.33333333333333,"B "]] StudentHandsOn.aspx:218
POST 500内部服务器错误
我现在得到一个数组。如何将其传递给代码隐藏方法?尝试将序列化数据代码更改为:
data: '{"students": "' + JSON.stringify(changedData) + '"}',
不,它不起作用,它甚至更早就试过了。我在代码隐藏方法列表中给出的参数类型是否有任何错误???对不起,错误是其他原因。请粘贴学生类声明。[TableStudent]公共类学生{public string Id{get;set;}公共字符串名称{get;set;}公共int当前年份{get;set;}公共字符串部门{get;set;}公共字符串受让人{get;set;}公共浮动可选项{get;set;}公共浮动可选项{u 2{get;set;}公共浮点数选修课{U 3{get;set;}公共浮点数总和{get;set;}公共浮点数平均值{get;set;}公共字符串等级{get;set;}学生没有属性[Serializable]。
data: '{"students": "' + JSON.stringify(changedData) + '"}',