2016-03-02 22 views
-1

我有一个客户端使用typecript创建的类的列表,现在我想将它发送到webmethod。 我的打字稿代码如下:如何将客户端的类列表发送到带有AJAX的webmethod

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低于:

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

我在C#类是这样的:

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的列表发送到服务器webmethod。 我的问题是webmethod不会调用。

回答

0

我自己做的,它只是需要做的webmethod的输入作为列表如下图所示:

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