2013-01-23 3 views
0

내 MVC 4 면도기 뷰의 간단한 드롭 다운 메뉴를 만들려고합니다. 나는 다음과 같은이 SelectList에 어떤 문제가 있습니까?

public List<SelectListItem> YesNoList() 
{ 

    List<SelectListItem> items = new List<SelectListItem>(); 

    items.Add(new SelectListItem { Text = "Select", Value = "" }); 
    items.Add(new SelectListItem { Text = "Yes", Value = "True" }); 
    items.Add(new SelectListItem { Text = "No", Value = "False" }); 

    return items; 
} 

내가

[AllowAnonymous] 
public ActionResult Register() 
{ 
    RegisterModel model = new RegisterModel(); 

    model.DisabilityList = new SelectList(_listService.YesNoList(), "Value", "Text", ""); 

    return View(model); 
} 

그럼 내 컨트롤러에서이 서비스 메소드를 호출 내 면도기보기에

<div class="editor-label"> 
    @Html.LabelFor(model => model.Disability, "Do you have a disability?") 
</div> 
<div class="editor-field"> 
    @Html.DropDownListFor(model => model.Disability, Model.DisabilityList) 
</div> 

나는 것을 반환 반환하는 방법을 포함하는 서비스 클래스를 내 드롭 다운 메뉴에서 "선택"이라는 항목이 선택된 옵션과 같지만 기본적으로 "아니오"옵션을 선택합니다. 왜 이런거야?

나는이

items.Add(new SelectListItem { Text = "Select", Value = "", Selected = True }); 

에 SelectListItem을 변경하려하지만 여전히 선택한 옵션으로 "아니오"를 선택합니다.

코딩의 간단한 비트는 알고 있지만 작동시키지는 못합니다.

도와주세요.

감사합니다.

답변

2

가 모델 Disability 부울 속성 nullable 같은되어야 하는가?

@Html.DropDownListFor(model => model.Disability, Model.DisabilityList) 

No입니다 false에 관련된 값을 선택합니다 : 아니, Disability의 기본값은 false이며,이 경우 때문에

.

+0

정확히 그게 문제였습니다. 잘 보였다. 감사. – tgriffiths

0

new SelectList(_listService.YesNoList(), "Value", "Text", ""); 

new SelectList(_listService.YesNoList(), "Value", "Text", _listService.YesNoList().First()); 
관련 문제