나는 List<string>
속성을 가진 모델을 가지고 있습니다. 해당 속성에 바인딩하는 몇 가지 선택 목록을 제시하고자합니다.ASP.NET MVC에서 IList <string> 컬렉션에 여러 선택 목록을 바인딩 할 수 있습니까?
예를 들어, 내 모델의 이름이 Favoli라고 가정하고 사용자가 몇 가지 즐겨 찾는 색상을 선택하게했습니다.
public class Favorites
{
public List<string> FavoriteColors { get; set;}
}
인덱스를 사용하여 컬렉션에 바인딩을 시도했지만 FavoriteColors가 비어있어 문제가 발생했습니다.
@Html.DropDownListFor(m => m.FavoriteColors[0], ColorSelectList, "Select a color (required)")
@Html.DropDownListFor(m => m.FavoriteColors[1], ColorSelectList, "Select a color (optional)")
@Html.DropDownListFor(m => m.FavoriteColors[2], ColorSelectList, "Select a color (optional)")
내가 이에게 몇 가지를 해결할 수있는 실현 : 여기에 작동하지 않는 코드 (널 제외)입니다.
- 빈 값으로 FavoriteColors를 채 웁니다. 그러나 내 모델에는 잘못된 코드 (빈 값)가있을 것이므로 코드에서 다른 장소의 여러 곳에서 해결해야 할 것이므로이 방법은 적절하지 않습니다.
- 내 모델을 변경하여 3 개의 문자열 속성 (예 : FavoriteColor1, FavoriteColor2, FavoriteColor3)을 갖도록하십시오. 바인딩은 더 쉬울 것이지만, 나는 여전히 많은 코드로 그 문제를 해결해야 할 것이다.
더 좋은 방법이 있습니까?