Я думаю, что нашел ошибку в knockout.js в сочетании с выпадающим списком asp.net mvc. При поставке только списка строк MVC не отображает значения опций в элементе select. Из-за этого Knockout.js не будет обновлять значение. Если я использую второй html-фрагмент ниже, явно указывая свойства, он работает. Должно ли notockout.js читать внутренний html, если значение параметра недоступно?knockout.js не работает, когда в списке выбора нет опций
не модифицирует
@Html.DropDownListFor(m => m.Grade, new SelectList((IEnumerable<string>)ViewData[Config.ViewData.Grades], Model.Grade), new { data_bind = "value: selectedGrade" })
Обновления
@Html.DropDownListFor(m => m.Grade, new SelectList(((IEnumerable<string>)ViewData[Config.ViewData.Grades]).Select(q => new { Text = q, Value = q }), "Value", "Text", Model.Grade), new { data_bind = "value: selectedGrade" })
Первый выпадающий оказывает
<select>
<option>K</option>
<option>2</option>
<option>3</option>
</option>
Второй выпадающий оказывает
<select>
<option value="K">K</option>
<option value="2">2</option>
<option value="3">3</option>
</option>
В вашем * Не обновляется * фрагмент, появляется ли раскрывающийся список? Я был бы удивлен, что это не вызывает ошибки. Я не думаю, что вы можете просто преобразовать список строк в список элементов списка, не помогая компилятору, как вы это делали в фрагменте * Updates *. – arb
Да, да, у вариантов нет значений. –