У меня есть таблица базы данных под названием Genre со следующими полями:
- Id (первичный ключ для заполнения)
- Name (название жанра - роман, вестерн и т. Д.))
У меня есть класс Model с именем GenreDropDownModel
, который содержит следующий код:
public class GenreDropDownModel
{
private StoryDBEntities storyDB = new StoryDBEntities();
public Dictionary<int,string> genres { get; set; }
public GenreDropDownModel()
{
genres = new Dictionary<int,string>();
foreach (var genre in storyDB.Genres)
{
genres.Add(genre.Id, genre.Name);
}
}
}
Мой контроллер Write
Действие объявлено как:
public ActionResult Write()
{
return View(new GenreDropDownModel());
}
Наконец, в моем представлении Write.cshtml я получаю следующую ошибку:
Привязка данных: 'System.Collections.Generic.KeyValuePair`2 [[System.Int32, mscorlib, Версия = 4.0.0.0,Культура = нейтральная, PublicKeyToken = b77a5c561934e089], [System.String, mscorlib, Версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = b77a5c561934e089]] 'не содержит свойства с именем «Id».
@model Stories.Models.GenreDropDownModel
@{
ViewBag.Title = "Write";
}
<h2>Write</h2>
@Html.DropDownListFor(model => model.genres,new SelectList(Model.genres,"Id","Name"))