12
이미 많은 비슷한 질문이 있다는 것을 알고 있습니다 만, 이것을 파악하기 위해 많은 시간을 보냈으며 다른 답변이 도움이되지 않습니다!DropDownListFor - 문자열의 간단한 목록을 표시합니다.
MVC를 사용하는 드롭 다운 목록에 문자열 목록을 표시하고 싶습니다. 에 문자열 목록을 표시하고 싶습니다. 이게 정말 그렇게 어려운가요? "텍스트"와 "값"분리 (MVC가 필요하지만)가 표시되지 않습니다. 사용자에게 표시되는 문자열은 내 가치입니다.
나는 지금까지 다음 가지고 :
컨트롤러 :
public ActionResult Index()
{
return View(new HomeViewModel());
}
뷰 모델 :
public class HomeViewModel
{
public HomeViewModel()
{
Items = new SelectList(new[]
{
new SelectListItem { Text = "One", Value = "One" },
new SelectListItem { Text = "Two", Value = "Two" },
});
}
public SelectList Items { get; set; }
}
보기 :
<% using (Html.BeginForm()) { %>
<% Html.DropDownListFor(x => x.Items, Model.Items); %>
<input type="submit" value="Go!" />
<% } %>
그러나 아무것도 드롭 다운 목록이 표시되는 것 같습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
아아, 어리석은 실수! 이제 두 항목으로 드롭 다운 목록을 볼 수 있지만 둘 다 System.Web.Mvc.SelectListItem을 말합니다. SelectList의 생성자를 호출 할 때 문제가있는 것 같습니다. – Grokys
오 예 - 생성자에서 드롭 다운에 표시 할 필드를 지정해야합니다. 그렇지 않으면 기본 SelectListItem.ToString()이됩니다. – Yakimych
고맙습니다. 업데이트 2는 내가 찾고있는 것입니다. :) – Grokys