ASP.Net MVC 3에서 Html.DropDownListFor 도우미를 사용할 때 SelectList를 채우는 올바른 방법은 무엇입니까?SelectList와 함께 Html.DropDownListFor() 사용
기본적으로 특정 필드에 대해 항목 값을 지정하려는 "작성"양식이 있습니다. 예를 들어, 영화 데이터베이스이고 장르를 입력 할 수있는 기능이 필요하지만 사용자가 좋아하는 것을 입력 할 수 없기 때문에 SelectList를 가장 좋은 대답으로 가정합니다.
작동하는 방법은 selectList의 반환 정적 방법으로 새로운 클래스를 만드는 것입니다:
public class Genres
{
public static List<string> GetGenres()
{
List<string> myGenres = new List<string>();
myGenres.Add("Comedy");
myGenres.Add("Romantic Comedy");
myGenres.Add("Sci-Fi");
myGenres.Add("Horror");
return myGenres;
}
}
다음과 같이 사용할 수 있습니다
<div class="editor-field">
@Html.DropDownListFor(model => model.Genre, new SelectList(OLL.Models.Genres.GetGenres()))
</div>
그냥하지 않습니다 그것을하는 권리/가장 쉬운 방법처럼 보입니까? 제 생각 엔 여기 뭔가 분명한 것 같아요.
도움을 주셔서 감사합니다.
이것은 훌륭한 해결책입니다. 아마도'new SelectList' 코드를 다른 메소드로 분해 할 수는 있지만 현재 코드에 문제가없는 것 같습니다. – mellamokb
나는 이것을 할 필요가있는 각 필드에 대해 정적 인 IEnumerables를 가진 일반 모델 클래스를 만들 것이라고 생각한다. 예를 들어'public static IEnumerable Genres = new List { "액션", "어드벤처", "애니메이션"}} –
Darren