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);
}