2015-05-27 37 views
0

我有這樣的對象,像這樣[ { job: "ABC-123", task: "XYZ" }, { job: "ABC-333", task: "LAX" }];asp.net得到一個循環從列表項

這個對象是從一個AJAX調用這裏:

public List<VendorUpdateClass> updateVendorItem(List<VendorUpdateClass> edittedItems) 
     { 
      ConnectionClass jobs = new ConnectionClass(); 
      return jobs.updateVendors(edittedItems); 
     } 

它調用這個類:

public List<VendorUpdateClass> updateVendors(List<VendorUpdateClass> items) 
     { 
      VendorUpdateCell = new List<VendorUpdateClass>(); 

      foreach (object objectItems in items) 
      { 
       VendorUpdateClass vendorUpdatedItem = new VendorUpdateClass(); 
       vendorUpdatedItem.job = objectItems.job; 
       vendorUpdatedItem.task = objectItems.job; 
       vendorUpdatedItem.vendor = objectItems.task; 

       VendorUpdateCell.Add(vendorUpdatedItem); 
      } 


      return VendorUpdateCell; 
     } 

我的問題是我的循環。我試圖從分配的對象vendorUpdatedItem這裏jobtask是我收到的錯誤:

'object' does not contain a definition for 'job' and no extension method 'job' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)

我在做什麼錯?

回答

4

在此行中:

foreach (object objectItems in items) 

你特別對待每個項目在列表中的object。你知道的數據類型,因此您可以與實際數據類型做到這一點:

foreach (VendorUpdateClass objectItems in items) 

,或者你可以只讓編譯器爲你做它,因爲編譯器知道得:

foreach (var objectItems in items) 
1

變化

foreach (object objectItems in items) 

foreach (var objectItems in items) 

編譯器可以,如果你使用var推導出正確的類(VendorUpdateClass)。

1
public List<VendorUpdateClass> updateVendors(List<VendorUpdateClass> items) 
    { 
     VendorUpdateCell = new List<VendorUpdateClass>(); 

     foreach (VendorUpdateClass objectItems in items) 
     { 
      VendorUpdateClass vendorUpdatedItem = new VendorUpdateClass(); 
      vendorUpdatedItem.job = objectItems.job; 
      vendorUpdatedItem.task = objectItems.job; 
      vendorUpdatedItem.vendor = objectItems.task; 

      VendorUpdateCell.Add(vendorUpdatedItem); 
     } 


     return VendorUpdateCell; 
    } 

因爲您正在循環訪問VendorUpdateClass的集合,所以將foreach更改爲VendorUpdateClass而不是對象。

相關問題