그래서 나는 다음과 같은 (의사 코드)가 항목을 채우고 이미 선택된 항목을 표시했습니다. 그러나보기로 이동하면 옵션이 선택됨으로 표시되지 않습니다.MVC C#을 html.dropdownlist 및 viewbag
제 질문은, 항목을 전달하기 위해 뷰 백을 사용할 수 있습니까? 아니면 다른 매체를 사용해야합니까? 내가 그것을 그렇게 사용하면 옵션에서 선택된 플래그를 제거합니다. 이 같은
그래서 나는 다음과 같은 (의사 코드)가 항목을 채우고 이미 선택된 항목을 표시했습니다. 그러나보기로 이동하면 옵션이 선택됨으로 표시되지 않습니다.MVC C#을 html.dropdownlist 및 viewbag
제 질문은, 항목을 전달하기 위해 뷰 백을 사용할 수 있습니까? 아니면 다른 매체를 사용해야합니까? 내가 그것을 그렇게 사용하면 옵션에서 선택된 플래그를 제거합니다. 이 같은
시도 :
ViewBag.ListOfCodes = new SelectList(mymodelinstance.Codes, "Id", "Name");
ViewBag.Codes = "C";
하고보기 :이를 위해
<%= Html.DropDownList(
"Codes",
(IEnumerable<SelectListItem>)ViewBag.ListOfCodes,
new { style = "max-width: 600px;" }
) %>
이 같은 컬렉션 내부 아이디 = "C"와 항목이 있어야합니다 분명히 작동합니다 :
ViewBag.ListOfCodes = new SelectList(new[]
{
new { Id = "A", Name = "Code A" },
new { Id = "B", Name = "Code B" },
new { Id = "C", Name = "Code C" },
}, "Id", "Name");
이 중 어느 부분이 "코드 C"를 선택합니까? – gdubs
이 하나 :'ViewBag.Codes = "C";'. 뷰에서'DropDownList' 도우미에 대한 첫 번째 인수로 코드를 사용 했으므로 ViewBag에서 값을 가져옵니다. 뷰 모델과 강력한 타입의 DropDownListFor 도우미를 사용하고 항상 사람들에게 권장하는 ViewBag에 대해서는 잊어 버렸을 지 모르겠습니다. –
나는 그것에 동의한다. 이 시나리오에서는이 목록의 값이 다른 드롭 다운 목록의 다른 값에 추가되어 인스턴스에 쓰여 집니 다. 다르게 모델링했으면 좋겠어. – gdubs
컨트롤러에서 중단 점을 표시하고'list'의 적어도 하나의 항목에'Selected = true; '태그가 있는지 다시 확인할 수 있습니까? 나는 ViewBag이 당신의 목록을 망치고 있다고 생각하지 않습니다. – StuartLC
예. 나는 그것을했고 그것은 올바른 선택을 표시합니다. – gdubs