2011-08-03 3 views
1

내 편집 페이지 중 하나에서 정말 이상한 문제가 있습니다. 아래의 드롭 다운은 결코 선택된 가치를 얻지 못합니다.MVC3 DropDownlistFor SelectedValue

@Html.DropDownListFor(model => model.Bodymaterial, (IEnumerable<SelectListItem>)ViewBag.Bodymaterial) 

그러나 같은 페이지에서 다음 드롭 다운이 선택 값을 얻습니다.

@Html.DropDownListFor(model => model.Unit, (IEnumerable<SelectListItem>)ViewBag.Units) 

첫 번째 것은 이렇게 렌더링됩니다.

<select id="Bodymaterial" name="Bodymaterial"> <option value="EDTA">EDTA</option> <option value="SWAB">SWAB</option> <option value="UR">UR</option> <option value="FAE">FAE</option> <option value="IOF">IOF</option> <option value="SKIN">SKIN</option> <option value="HEP">HEP</option> <option value="CLOT">CLOT</option> <option value="CIT">CIT</option> <option value="CRM">CRM</option> <option value="CSF">CSF</option> <option value="RNA">RNA</option> <option value="MILK">MILK</option> <option value="BUC">BUC</option> </select>

번째에은이어야로 렌더링된다.

<select data-val="true" data-val-required="The Unit field is required." id="Unit" name="Unit"><option selected="selected" value="µl">&#181;l</option> <option value="ml">ml</option> <option value="l">l</option> <option value="µg/ml">&#181;g/ml</option> </select>

이유 두번째 올바른 표현과 처음되지? 도와주세요 ....

답변

2

해결책은 ViewBag.Bodymaterial 속성을 ViewBag.Bodymaterials으로 변경하는 것입니다. 어떻게 든 Html.DropDownListFor는 Viewbag 속성 이름이 모델 속성 이름과 일치 할 때이를 이해하지 못합니다.

해결책은 다음과 같습니다. Viewbag 속성이 사용자의 modelproperty와 같지 않은지 확인하십시오. 희망이 당신에게 많은 시간을 절약 할 것입니다 ....

+0

고마워요. 한 가지 간단한 메모 ... 자동 생성 된 cshtml 파일의 맨 위에있는 표준 ViewBag.Title = "MyTitle"과 충돌하는 내 수업 중 하나에서 Title이라는 속성이 있었기 때문에 물 렸습니다. 그 점을 이해하는 데 몇 시간 씩 걸렸지 만, 나는 네 게시물에 감사한다. – jwalkerjr