код asp.net mvc первым. сделать выпадающий требуется - PullRequest
0 голосов
/ 28 марта 2012

Ниже мой класс

public class Item
{
    public int ItemID { get; set; }

    [Required(ErrorMessage = "Unit of measure1 is required.")]
    public int Uom1Id { get; set; }
    public UnitOfMeasure Uom1 { get; set; }

    [Required(ErrorMessage = "Unit of measure2 is required.")]
    public int Uom2Id { get; set; }
    public UnitOfMeasure Uom2{ get; set; }
}

public class UnitOfMeasure
{
    public int UnitOfMeasureID { get; set; }
    public string MeasureName { get; set; }
}

Мой инициализатор ниже:

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

        modelBuilder.Entity<Item>().HasRequired(x => x.StockUnitOfMeasure)
       .WithMany()
       .HasForeignKey(x => x.StockUnitOfMeasureId).WillCascadeOnDelete(false);

        modelBuilder.Entity<Item>().HasRequired(x => x.PurchaseUnitOfMeasure)
           .WithMany()
           .HasForeignKey(x => x.PurchaseUnitOfMeasureId).WillCascadeOnDelete(false);

    }

Создать код:

<div class="editor-label">
        @Html.LabelFor(model => model.Uom1Id, "Stock Unit Of Measure")
    </div>
    <div class="editor-field">
        @Html.DropDownList("Uom1Id", String.Empty)
        @Html.ValidationMessageFor(model => model.Uom1Id )
    </div>

Я новичок в EF, я не знаю, почему атрибут [Обязательный] не работает для полей Uom1Id и Uom2Id, но он работает с другими полями в других моих классах.

Элемент ViewData, имеющий ключ 'Uom1Id', имеет Тип 'System.Int32', но должен быть типа 'IEnumerable'.

Спасибо

1 Ответ

0 голосов
/ 28 марта 2012

int не может быть нулевым, поскольку это ценный тип, поэтому нет необходимости добавлять атрибут Required в Uom1Id и Uom2Id.Для пользовательского интерфейса вы можете создать модель представления, в которой Uom1Id и Uom2Id будут int? (обнуляемыми).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...