ASP.NET MVC3 DropDownListFor Enum - PullRequest
1 голос
/ 24 июня 2011

Привет, я довольно новичок в MVC3 и пытаюсь сделать что-то, что, на мой взгляд, должно быть довольно распространенным, но не совсем понимаю.

У меня есть модель, которую я хотел бы сохранитьдля перечисления DayOfWeek в:

public class Booking
{
    public int ID { get; set; }
    public int Day { get; set; }
    ....
}

Я сделал это int для хранения в базе данных.

Я хочу редактировать в представлении как DropDownList:

    <div class="editor-field">
        @Html.DropDownListFor(model => model.Booking.Day, new SelectList(Enum.GetValues(typeof(DayOfWeek))))
        @Html.ValidationMessageFor(model => model.Booking.Day)
    </div>

Однако я получаю сообщение об ошибке: «День поля должен быть числом».

Я знаю, что что-то упустил, и, возможно, что-то простое, кто-нибудь может помочь?

Ответы [ 2 ]

3 голосов
/ 24 июня 2011

Добавьте свойство SelectList к вашей модели представления и заполните согласно ответу @ Brandon здесь .

Тогда вы измените свой код на:

@Html.DropDownListFor(model => model.Booking.Day, Model.SelectListProperty)

(где SelectListProperty - название вашей собственности на вашей модели просмотра)

0 голосов
/ 14 сентября 2011

Вы также можете изменить класс модели, используя DayOfWeek:

public class Booking
{
    public int ID { get; set; }
    public DayOfWeek Day { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...