动态SelectList未选择指定的值

时间:2016-01-20 19:28:34

标签: c# asp.net asp.net-mvc

使用ASP.Net MVC6和Entity Framework 7

我使用数据库表填充编辑表单上的选择框并尝试选择正确的记录。由于某种原因,所选变量根本没有被推送,无论数据库反映什么,总是选择第一条记录。

这是表单助手

<select asp-for="SeasonId" asp-items="Model.SeasonList" class="form-control"></select>

这是控制器

var match = _context.Matches.Single(m => m.MatchId == id);
SeasonList = new SelectList(_context.Seasons, "SeasonId", "SeasonName", match.SeasonId)

这是ViewModel

public int SeasonId { get; set; }
public IEnumerable<SelectListItem> SeasonList { get; set; }
public Season Season { get; set; }

我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

将视图模型的SeasonId值设置为您想要选择的选项值。

var vm=new YourViewModel();
var match = _context.Matches.Single(m => m.MatchId == id);
vm.SeasonList = _context.Seasons
                 .Select(x=>new SelectListItem { Value= x.SeasonId.ToString(),
                                                 Text= x.SeasonName).ToList();
vm.SeasonId= match.SeasonId;
return View(vm);