Как отправить список классов из клиента в webmethod с помощью ajax

-1

У меня есть список классов, созданных на клиенте с машинописными текстами. Теперь я хочу отправить его на веб-метод. Мой код машинописного текста приведен ниже:

  class MakeReportData {
    LocalName: string;
    FldSi: number;
    ViewSi:number;
    TypeName:string ;
    CheckBoxshow :boolean   ;
    CheckBoxFilter:boolean;
}

Мой код Ajax находится ниже:

  var temp: MakeReportData[] = [];
        for (var i = 0; i < $scope.myData.ReportDetail.length; i++) {
            var rep: MakeReportData=new MakeReportData();
            rep.LocalName = $scope.myData.ReportDetail[i].LocalName;
            rep.FldSi = $scope.myData.ReportDetail[i].FldSi;
            rep.ViewSi = $scope.myData.ReportDetail[i].ViewSi;
            rep.TypeName = $scope.myData.ReportDetail[i].TypeName;
            rep.CheckBoxshow = $scope.myData.ReportDetail[i].CheckBoxshow;
            rep.CheckBoxFilter = $scope.myData.ReportDetail[i].CheckBoxFilter;
            temp.push(rep);
        }
        var tedata = JSON.stringify({ itm: temp });
        alert(tedata);
        $.ajax({
            type: "POST",
            url: "MakeReport.aspx/GetList",
            contentType: "application/json; charset=utf-8",
            data: tedata , 
            dataType: "json",
            success: function (data) {
                alert(data.d);
            },
            error: function (data, status, jqXHR) {
                alert(status);
                alert(jqXHR);
            }
        });

мой веб-метод ниже:

 [WebMethod]
    public static string GetList(MakeReportData[] itm)
    {
        return "";
    }

мой класс в С# выглядит так:

 public class MakeReportData
{
    public string LocalName { get; set; }
    public int FldSi { get; set; }
    public int ViewSi { get; set; }
    public string TypeName { get; set; }
    public bool CheckBoxshow     { get; set; }
    public bool CheckBoxFilter { get; set; }

}

Я хочу отправить список MakeReportData на веб-сайт сервера. Моя проблема заключается в том, что веб-метод не вызывает.

Теги:
asp.net-ajax
webmethod

1 ответ

0

Я сделал это сам, просто нужно сделать ввод веб-метода как список, как показано ниже:

 public static string GetList(List<MakeReportData> itm)
    {
        return "";
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню