Модели лесов не отображают определенный столбец из строки - PullRequest
0 голосов
/ 24 мая 2018

У меня есть следующая таблица:

enter image description here

И модель для нее:

 public class Movie
{
    public int Id { get; set; }
    public string Title { get; set; }
    public int Duration { get; set; }

    public enum Ratings
    {
        G = 1,
        PG = 2,
        PG13 = 3,
        R = 4
    }

    public virtual Ratings MaturityRating { get; set; }

    public ICollection<Screening> Screenings { get; set; }
}

В моей модели скрининга IЯ хочу сослаться на один из фильмов, чтобы я мог добавить Screening:

  public class Screening
{
    public int Id { get; set; }
    public DateTime Date { get; set; }
    public int Room { get; set; }
    public int Seats { get; set; }

    [ForeignKey("Movie")]
    public virtual int MovieId { get; set; }
    public virtual Movie Movie { get; set; }

}

Проблема в том, что форма в скаффолде отображает фильмы в выпадающем списке с их идентификаторами, и это должно быть сих названия:

enter image description here

Как я могу это изменить?

1 Ответ

0 голосов
/ 24 мая 2018

Создайте список в контроллере, чтобы заполнить раскрывающийся список.Если имя объекта ViewBag совпадает с именем свойства Model, которое будет использоваться для выпадающих элементов.

View

@*DropDownList*@
<div class="form-group">
    @Html.LabelFor(model => model.Movie, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.DropDownListFor(model => model.Movie, null, "Please Select", new { @class = "form-control" })
        @Html.ValidationMessageFor(model => model.Movie, "", new { @class = "text-danger" })
    </div>
</div>

Действие контроллера, включая

ViewBag.Movie = db.Movies.GetAll().Select(x=> new SelectListItem() { Name = x.Name, Value x.Id});
...