2017-11-10 6 views
0

드롭 다운 목록을 렌더링 중입니다. 내보기에서ASP.NET MVC 선택 목록 선택 값

ViewBag.Categories = new SelectList(db.HelpCategories, "ID", "Name"); 

나는 다음과 같이 호출 :

Categories: @Html.DropDownList("Categories", (SelectList)ViewBag.Categories, "All") 

하는 동안 나는이 같은 선택 값을 얻을.

<select id="Categories" name="Categories"> 
    <option value="">All</option> 
    <option value="1">Dėl Krepšelių</option> 
</select> 

정말 "0"의 값을 0으로 설정해야합니다. 방법을 알아낼 수 없습니다. SelectListItem으로 완료되었지만 내 코드에 맞지 않는 자습서를 찾았습니다. 도움이 정말 감사합니다. 감사합니다.

+0

왜 당신이 '0'으로 설정하려는 것 SELECT 요소를 구축 할 ViewBag.CategoryList를 사용할 것인가? 그리고 만약 당신이 그것을 원한다면'Value = "0"'및'Text = "All"'을 포함하는 IEnumerable 을 생성해야만합니다 (그리고'DropDownList()'메소드에서 3 번째 파라미터를 삭제해야합니다) –

답변

1

절대적으로 원하는 경우 구체적으로 valuetext이있는 항목을 추가 할 수있는 작업 방법에서 SelectListItem 목록을 작성할 수 있습니다. 보기에

이제
var categoryList = new List<SelectListItem> 
{ 
    new SelectListItem { Value="0", Text = "All"} 
}; 

categoryList.AddRange(db.HelpCategories 
         .Select(a => new SelectListItem { 
                  Value = a.Id.ToString(), 
                  Text = a.Name})); 
ViewBag.CategoryList = categoryList; 

return View(); 

, 당신은

@Html.DropDownList("Categories", ViewBag.CategoryList as IEnumerable<SelectListItem>) 
+0

고맙습니다. 이것은 완벽하게 작동합니다. 비록 간단한 일을하기에는 조금 길지만. 그러나 그것은 나의 질문에 대답했다. – HighSepton