MVC에서 머리를 감싸고 있습니다.ASP.Net MVC 5로드시 목록 상자에서 여러 항목 선택
목록이 있습니다. 이 중 일부를 기본적으로 선택하여 화면을로드해야합니다.
항목을로드하는 것은 기본적으로 일부 항목을 선택하려고하면 나를 위해 작동하지 않습니다.
내가 잘못 가고있는 생각이 있으십니까?
나는 내 요구에 대한 대답을 번역 할 수는 없지만 비슷한 질문에 대한 많은 대답을 알고 있습니다.
여기에 제가 가지고있는 코드가 있습니다. 또한 html 헬퍼의 다양한 옵션을 이해하려고합니다. 해결책을 게시 할 때이를 고려하십시오.
이것은 내 코드의 가장 최근 반복입니다. 난 내 컨트롤러에서 .... 무리를 통해
를 갔다 내 defaultSelected.Contains을 테스트하기위한 시도public ActionResult Index()
{
ViewBag.Statuses = AddStatuses();
return View();
}
private MultiSelectList AddStatuses()
{
string[] defaultSelected = { "Ready", "Done", "Error" };
List<SelectListItem> listItems = new List<SelectListItem>();
List<Status> s = allTypes.GetStatuses();
s.ForEach(status =>
{
listItems.Add(new SelectListItem()
{
Text = status.Name,
Value = status.ID.ToString(),
Selected = true,// defaultSelected.Contains(status.Name)
});
});
return new MultiSelectList(listItems, "Value", "Text");
}
, 난 그냥 ALL 참으로 ... 여전히 didn를 선택하는 데 주석 't 작업 ...
나는
@Html.DropDownList("Statuses", null, null, new { @class = "form-control", multiple = true, id="queueStatuses" })
@Html.ListBox("Name", ViewBag.Statuses as MultiSelectList, new { @class = "form-control", id = "queueStatuses" })
@Html.ListBox("Statuses", null, new { @class = "form-control", id = "queueStatuses" })
나는) 내가 뭐하는 거지 이해하지 못하는와 b)가 동작하지 않습니다 내보기에 이러한 시도 ... :)
내가 찾고 있어요 : 당신은 당신의 목록 상자의 항목을 전달하는 뷰 모델의 사용자와 함께 ListBoxFor
도우미 방법을 사용할 수 있습니다
어떻게하면 ViewBag에서 작동하도록 할 수 있습니까? 여기서는 viewmodel을 사용하지 마십시오. 페이지에서 Ajax를 사용하여 전체 viewmodel을 필요로하지 않을 것입니다. - 와우는 기본 항목을 선택하는 데 많은 어려움이 있습니다 .... – Darren
뷰 모델은 아약스 메소드에 어떤 영향을 줍니까? – Shyju
정말 아니지만 이걸 간단하게하려고합니다. 귀하의 코드, 비록 내가 확신하는 것보다 더 많은 가치를 가진 목록 상자를로드하고 일부 미리 선택해야한다고 생각보다 필요합니다. 또한 (저는 MVC에 새로 온 것입니다) ActionResult Create가 있습니다 - 이것은 무엇이며 어떻게 호출 될까요? 색인 작업이 있습니다. 내 컨트롤러가 부르는 사람이 아닌가요? 이 행동을 어떻게 부르는가? – Darren