C# 使用Ajax将可手持数据传递到ASP.NET函数时出错500

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

在使用Ajax将可手持数据发布到ASP.NET代码隐藏函数时,我遇到错误500内部错误。我不明白我错在哪里。请帮忙

我的Ajax代码:

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) + '"}',