2011-12-02 73 views
4

大家好我正在使用json傳遞wcf服務中的數據。以下是我的代碼。我能夠傳遞數據ProjectCollection將數據從Json傳遞給wcf函數作爲參數

但我想數據傳遞作爲這樣

變種ProjectCollection = [「新」,「測試」,「等」]的陣列;

var ProjectCollection = "Test";  
    function GetEmployee() { 
     Type = "GET"; 
     Url = "http://localhost:52136/Service1.svc/GetTimesheetEntries"; 
     DataType = "jsonp"; 
     Data = {vb: ProjectCollection,vb1: '1'}; 
     ProcessData = false; 
     method = "GetTimesheetEntries"; 
     CallService(); 
    } 

function CallService() { 
     $.ajax({ 
      type: Type, //GET or POST or PUT or DELETE verb 
      url: Url, // Location of the service 
      data: Data, //Data sent to server 
      contentType: ContentType, // content type sent to server 
      dataType: DataType, //Expected data format from server 
      processdata: ProcessData, //True or False 
      success: function (msg) {//On Successfull service call 
       ServiceSucceeded(msg); 
      }, 
      error: ServiceFailed// When Service call fails 
     }); 
    } 

這是我的web服務功能。所以我的要求是從json獲取所有數組數據到這個函數參數。

public List<WcfService1.Customer> GetTimesheetEntries(string[] vb , string vb1) 
    { 
     DataClasses1DataContext i = new DataClasses1DataContext(); 
     //var b = from vb in i.TimeSheetMasters select vb; 
     //return b.ToList(); 

     var list = from time in i.TimeSheetMasters 
        join activity in i.ProjectMasters 
        on time.ProjectId equals activity.ProjectId 
        join res in i.ResourceMasters on time.ResourceId equals res.ResourceId 
        where time.TaskDetails == vb && time.BookHours == vb1 
        select new WcfService1.Customer 
        { 
         RName = res.ResourceName, 
         PName = activity.ProjectTitle 
        }; 

     return list.ToList(); 


    } 

回答

4

我發現我的解決方案

function GetTimeSheet() { 
    //webserviceurl[2] 
    Type = "GET"; 
    Url = "http://gtsp12:3030/Service1.svc/GetTimesheetEntries"; 
    DataType = "jsonp"; 
    Data = { Projects: JSON.stringify(projectlist), Resources: JSON.stringify(Resourcelist) }; 
    method = "GetTimesheetEntries"; 
    CallService1(); 
} 

在腳本只需創建數組。初始化它並像上面那樣在webservice中作爲參數傳遞。

相關問題