Unten ist meine Klasseasp.net mvc code zuerst. Drop-Down-
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; }
}
Mein initializer unter:
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);
}
erstellen Code:
<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>
Im neu zu EF, ich weiß nicht, warum das Attribut [Erforderlich ] funktioniert nicht für das Feld Uom1Id und Uom2Id, aber es funktioniert mit anderen Feldern in meinen anderen Klassen.
Das Viewdata Element, das den Schlüssel hat ‚Uom1Id‘ ist von Typ ‚System.Int32‘, sondern muß vom Typ ‚IEnumerable‘ sein.
Dank
danke Andrei, ich bekomme einen Fehler beim Drücken der create-Taste, wenn die beiden Dropdown-Felder leer waren. Wie werde ich das Dropdown-Formular erstellen? Vielen Dank – samantha07