Я использую MVC 2 и структуру сущности 4. На моей странице создания приложения у меня есть раскрывающийся список, который я заполнил значениями из моего перечисления типа AccountType. Это, как я это сделал:ASP.NET MVC 2 Проблема с распаковкой
public ActionResult Create()
{
// Get the account types from the account types enum
var accountTypes = from AccountType at
in Enum.GetValues(typeof(AccountType))
select new
{
AccountTypeID = (int)Enum.Parse(typeof(AccountType), at.ToString()),
AccountTypeName = GetEnumFriendlyName(at)
};
ViewData["AccountTypes"] = new SelectList(accountTypes, "AccountTypeID", "AccountTypeName");
return View();
}
Это то, что мой код выглядит для этого выпадающего списка данных:
<%= Html.DropDownList("AccountTypeID", (SelectList)ViewData["AccountTypes"], "-- Select --") %>
После загрузки страницы я начинаю вводить несколько значений. Я выбираю значение из выпадающего списка. Когда все необходимые вводятся, я нажимаю кнопку «Отправить». Ниже просто кусок кода:
[HttpPost]
public ActionResult Create(Application application)
{
if (ModelState.IsValid)
{
application.ApplicationState = (int)State.Applying;
}
return View();
}
Тогда я получаю следующее сообщение об ошибке, не уверен, что это значит, но я сделал Google это, попробовал образцы, но я все еще получаю сообщение. Вот сообщение об ошибке:
There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'AccountTypeID'.
Я даже изменил выпадающий список в целях:
<%= Html.DropDownList("AccountTypeID", (IEnumerable<SelectListItem>)ViewData["AccountTypes"], "-- Select --") %>
Я не уверен, что я делаю неправильно? Я был бы признателен за ввод данных
Спасибо.
Я полагаю, что класс Application содержит свойство AccountTypeID? Ошибка на POST, или что? Вопрос немного расплывчатый. – mare