가 나는 viewbag 항목에 전달되는 컨트롤러에서 생성 된 목록이 있습니다Viewbag 항목 목록에서 선택 목록을 만들려면 어떻게해야합니까?
@Html.DropDownList("test", new SelectListItem[]{
new SelectListItem() {Text = "Exemplo1", Value="Exemplo1"},
new SelectListItem() {Text = "Exemplo2", Value="Exemplo2"},
new SelectListItem() {Text = "Exemplo3", Value="Exemplo3"}}
, htmlAttributes: new { @class = "form-control" })
잘 작동 :
List<SelectListItem> PTL = new List<SelectListItem>();
List<PT> PTL2 = db.PT.ToList();
foreach (var item in PTL2)
{
PTL.Add(new SelectListItem { Value = item.ID.ToString(), Text = item.Name });
}
ViewBag.PTL2 = PTL2;
다음을보기에, 나는 여기에 또 다른 질문에서 다음을 시도 하지만 다음과 같이 수정하려고하면 :
@Html.DropDownList("test", ViewBag.PTL2, htmlAttributes: new { @class = "form-control" })
여러 가지 오류가 발생합니다.
나는 여러 가지 조합, 다양한 주물 등을 시도하는데 몇 시간을 보냈지 만, 나는 진전을 보이지 않고있는 것 같습니다.
나는 이렇게 많은 다른 오류를 보았다 - 가장 일반적인 하나, 나는 그러나'
유형 키 "테스트"를 가지고
IEnumerable<SelectListItem>
의 더ViewData
항목이 없다'는 캐스팅을 시도하고 여기에 다른 질문에 따라 이름을 변경했지만, 나는 단지 이것을 지나갈 수 없습니다.이 시점에서 나는 수동 HTML 드롭 다운 목록과 내용에 대해
foreach
루프를 만드는 것을 생각하고 있지만 이것은 낭비처럼 보입니다.내가 잘못 한 것을 아는 사람이 있습니까?
'@ Html.DropDownList ("test", (IEnumerable) ViewBag.PTL2, ...)'당신도 읽을 것이 좋습니다 [이 질문에 대한 답변] (http : // stackoverflow .com/questions/34366305/viewdata-item-that-the-key-xxx-of-type-system-int32-but-must-be-o)'ViewBag'를 사용하지 마십시오 –
감사합니다. , 나는 그것이 너무 빨리 (단지 작은 내부 도구) 일할 수 있다면 ViewBag를 사용하지 않기 위해 너무 멀리 갈까봐 두렵다. 그러나 나는 다음 시간을 읽고 배우게 될 것이다. – wil