편집 모드에서 3 개의 dropdownlistfor가 있습니다. DDLFor에서 올바른 텍스트를 채울 수 있지만 제출시 ID가 0으로 설정되어 있지만 다른 팀을 선택하는 경우 그것은 올바른 id와 함께 올라오고있다.Dropdownlistfor 선택한 텍스트 및 값 ASP.NET MVC
public List<SelectListItem> TeamOneList { get; set; }
public string SelectedTeamOne { get; set; }
.... //remaining properties for DDL's..........
컨트롤러
List<SelectListItem> TeamOneList = new List<SelectListItem>();
foreach (var item in db.Teams)
{
TeamOneList.Add(new SelectListItem { Text = item.TeamName, Value = item.TeamId.ToString() });
}
string SelectedTeamOne = db.Teams.Where(o => o.TeamId == fixture.TeamOneId).Select(s => s.TeamName).Single();
보기 내 코드
의 ViewModel되어 다음
@Html.DropDownListFor(model => model.TeamOneId, Model.TeamOneList, Model.SelectedTeamOne, new { @class = "form-control" })
더 간단 DropDownListFor '의 세번째 매개 변수()'라벨이 ('null' 옵션)
를 사용하거나 할 수 있습니다. ''Model.SelectedTeamOne'이 아닌''을 선택하십시오. –
둘째, 'TeamName' 속성에 바인딩하지만 옵션 값은'TeamId' 속성을위한 것입니다. '.Select (s => s.TeamId)'이어야합니다 ('TeamId'가'int'로 보이기 때문에'SelectedTeamOne'도'string'이 아닌'int'이어야합니다) –
편집 모드에서 나는 Stephen – user3543878