Asp.net mvc 3 通过ICollection发行foreach

Asp.net mvc 3 通过ICollection发行foreach,asp.net-mvc-3,linq,Asp.net Mvc 3,Linq,我看了一下,但太复杂了,无法实现我的目标: 我的控制器中有: public ActionResult UserDetails(int id) { var user = ZincService.GetUserForId(id); if (user == null || user.Customer.CustomerId != CurrentCustomer.CustomerId) return DataNotFound(); ManageUserViewModel vi

我看了一下,但太复杂了,无法实现我的目标:

我的控制器中有:

   public ActionResult UserDetails(int id)
{
  var user = ZincService.GetUserForId(id);
  if (user == null || user.Customer.CustomerId != CurrentCustomer.CustomerId)
    return DataNotFound();

  ManageUserViewModel viewModel = new ManageUserViewModel();
  ScormModule scormModule = new ScormModule();

  viewModel.User = user;
  viewModel.IsLockedOut = MembershipService.IsUserLocked(user.Email);
  viewModel.IsActivated = user.DateTimeActivated.HasValue && MembershipService.IsUserApproved(user.Email);
  viewModel.IsArchived = user.IsArchived;
  viewModel.TrainingModulesForUser = user.UserScormModules;
  foreach (int moduleId in user.UserScormModules)
  {
    var name = scormModule.GetScormModuleTitle(moduleId);
    viewModel.TrainingModuleName.Add(name);
  }

  return View(viewModel);
}
然后是ManageUserViewModel:

public class ManageUserViewModel
{
 public Entities.User User { get; set; }
 public bool IsLockedOut { get; set; }
 public bool IsActivated { get; set; }
 public bool IsArchived { get; set; }\
 public ICollection<Entities.Scorm.UserScormModule> TrainingModulesForUser { get; set; }
 public List<string> TrainingModuleName { get; set; }
}
如何通过
(user.UserScormModules中的int moduleId)
获取模块的
名称而不是
id
。我想把名字传给我的视图

var name = scormModule.GetScormModuleTitle(moduleId);
viewModel.TrainingModuleName.Add(name);

我想我明白了,我把代码改成:

foreach (var row in user.UserScormModules)
{ 
   int moduleId = row.UserScormModuleId;
   var name = scormModule.GetScormModuleTitle(moduleId);    
   viewModel.TrainingModuleName.Add(name); 
 } 

我想我明白了,我把代码改为:foreach(user.UserScormModules中的var行){int moduleId=row.UserScormModuleId;var name=scormModule.GetScormModuleTitle(moduleId);viewModel.TrainingModuleName.Add(name);}请将此转换为答案。
var name = scormModule.GetScormModuleTitle(moduleId);
viewModel.TrainingModuleName.Add(name);
foreach (var row in user.UserScormModules)
{ 
   int moduleId = row.UserScormModuleId;
   var name = scormModule.GetScormModuleTitle(moduleId);    
   viewModel.TrainingModuleName.Add(name); 
 }