MVC3 DropDownlist для выбранного значения - PullRequest
1 голос
/ 03 августа 2011

У меня действительно странная проблема на одной из моих страниц редактирования. В раскрывающемся списке ниже никогда не отображается выбранное значение.

    @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>

Почему второй представляется правильным, а первый нет? Пожалуйста, помогите ....

1 Ответ

2 голосов
/ 03 августа 2011

Решение состоит в том, чтобы изменить свойство ViewBag.Bodymaterial на ViewBag.Bodymaterials. Каким-то образом Html.DropDownListFor ничего не понимает, когда имя вашего свойства Viewbag совпадает с именем свойства модели.

Так что решение есть. Убедитесь, что ваше свойство Viewbag не совпадает с вашим свойством модели. Надеюсь, это спасет вас, ребята, много часов ....

...