2016-02-12 71 views
0

我得到一個匹配的子視圖模型錯誤(我知道如果它不是一個列表,錯誤doest出現),但它必須是一個列表,因爲我的viewModel必須顯示替代和距離像在指數使我的viewModel工作,它必須是一個列表

錯誤是「列表中不包含‘遠程’和‘替代’一difinition」

我的視圖模型

public class MatchingSubstituteViewModel 
{ 
    public Substitute Substitute { get; set; } 
    public decimal Distance { get; set;} 
} 

我的控制器

public ActionResult Test(FindMatchRequestModel request) 
    { 
     //TestData Find subject and level 
     var list = FindSubstituteSubjectLevels(new FindMatchRequestModel() 
     { 
      LevelID = 1, 
      SubjectID = 3 
     }); 


     var school = db.Schools.ToList().FirstOrDefault(); 
     var schoolAddress = school.HomeAddress; 


     List<MatchingSubstituteViewModel> matchingSubsViewModels = new List<MatchingSubstituteViewModel>(); 

     foreach (var item in list) 
     { 
      var substtitute = item.Substitute; 
      var subAddress = substtitute.HomeAddress; 

      var distance = HomeAddress.GetGeographicDistance(schoolAddress.Longitude, schoolAddress.Latitude, subAddress.Longitude, subAddress.Latitude); 

      matchingSubsViewModels = new List<MatchingSubstituteViewModel>() 
      { 
       Substitute = item.Substitute, // error List<MatchingSubstituteViewModel> does not contain a difinition for 'Substitute ' 
       Distance = distance // error List<MatchingSubstituteViewModel> does not contain a difinition for 'Distance' 
      }; 
     } 
     return View(matchingSubsViewModels); 
    } 

回答

0
<pre> 
List<MatchingSubstituteViewModel> lstMatchingSubsViewModels = new List<MatchingSubstituteViewModel>(); 

    foreach (var item in list) 
    { 
     var substtitute = item.Substitute; 
     var subAddress = substtitute.HomeAddress; 

     var distance = HomeAddress.GetGeographicDistance(schoolAddress.Longitude, schoolAddress.Latitude, subAddress.Longitude, subAddress.Latitude); 

     matchingSubsViewModels = new MatchingSubstituteViewModel() 
     { 
      Substitute = item.Substitute, // errors List<MatchingSubstituteViewModel> does not contain a difinition for 'Substitute ' 
      Distance = distance // errors List<MatchingSubstituteViewModel> does not contain a difinition for 'distance' 
     }; 

    lstMatchingSubsViewModels .add(matchingSubsViewModels); 
    } 

    return View(lstMatchingSubsViewModels); 


    // and in the view 
    @Model List<MatchingSubstituteViewModel> 

foreach(var cm in @Model) { 
cm.Substitute 
} 

+0

THX它的工作原理,你是天才,不是因爲你解決了這個問題,但是對於理解我寫的:d –

相關問題