Модель:
public int Id { get; set; }
public string AuthorName { get; set; }
public int AuthorId { get; set; }
[Required]
[StringLength(150)]
public string Title { get; set; }
public int? Pages { get; set; }
public int? Price { get; set; }
public virtual Authors Authors { get; set; }
Вид:
@Html.DropDownListFor(model => model.AuthorId, ViewBag.AuthorId as SelectList)
Контроллер:
public ActionResult Index()
{
List<Books> authors;
using (Model1 db = new Model1())
{
authors = db.Books.ToList();
SelectList author = new SelectList(db.Authors, "Id", "FirstName", db.Authors.Select(model => model.Id));
ViewBag.AuthorId = author;
}
return View(authors);
}
Я не могу понять, в чем проблема. Проверьте код, напишите все правильно, но при попытке создать поле с названием книги, ценами и количеством листов выдает эту ошибку:
"Нет элемента ViewData извведите 'IEnumerable' с ключом key"
Не знаете, что это такое и как это исправить.
Пытался найти решение нафорумы, но я все равно получаю тот же результат.
Более того, если я использую EditorFor, и если я ввожу идентификатор созданного автора - все работает. Что я делаю неправильно? Что вызывает ошибку и как ее исправить?
Заранее спасибо.