У меня проблема с моим фрагментом кода внутри MVC 3 с синтаксисом Razor. В моей таблице БД (MySQL) есть столбец (FK) LanguageID [int]
. Затем в этом представлении я хочу присвоить этому столбцу DropDownList со списком языков, который я генерирую на лету:
List<SelectListItem> list = new List<SelectListItem>();
list.Add(new SelectListItem
{
Value = tableRow.ID.ToString()
,
Text = "language"
}
Затем в представлении я связываю этот список со свойством Language:
@Html.DropDownListFor(
model => model.Language,
new SelectList(ViewData["LanguageList"] as List<SelectListItem>,
"Value", "Text")
)
но когда я отправляю данные на сервер, они возвращаются с результатом ошибки "The value '353' is invalid."
, где 353
- это идентификатор языка из БД. Что я делаю не так?
Редактировать
Во время отладки я заметил сообщение об ошибке в ModelState: "The parameter conversion from type 'System.String' to type 'FavorytaWeb.Models.BookLanguage' failed because no type converter can convert between these types."