2016-01-20 69 views
1

使用ASP.Net MVC6和Entity Framework 7動態的SelectList不選擇指定的值

我使用的數據庫表填充一個編輯表單上的選擇框,並嘗試選擇正確的記錄。出於某種原因,所選變量根本沒有被推入,並且無論數據庫反映什麼,總是選擇第一條記錄。

這裏是表單輔助

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

這裏是視圖模型

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

我缺少的東西?

回答

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); 
+1

這就是我非常想念的非常感謝! –