に値を提出することができ、データベースから@ Html.DropDownListFor()を移植 はDriver
& DriverType
として2つのエンティティがあります。新しいドライバをデータベースに追加するとき、ユーザはDropDownListからドライバタイプを選択できるはずです。 フォームを送信するときに、Driver
テーブルのDriverTypeID
(外部キー)列に、選択したDriverTypeのIDを追加する必要があります。は、私は、エンティティフレームワーク6を使用してASP.net MVCアプリケーションを開発しようとしているデータベース
私の質問は、ページをロードするときにDropDownListにすべてのDriverTypeをフェッチする方法です。& Driver
テーブルに、選択したDriverTypeのIDを渡す方法はありますか?
マイモデルのクラスは次のとおりです。
ドライバクラス
public partial class Driver
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Driver()
{
this.trip_tab = new HashSet<Trip>();
}
public string ID { get; set; }
public string DriverTypeID { get; set; }
public string VehicleID { get; set; }
public string Name { get; set; }
public string ContactNo { get; set; }
public string Comment { get; set; }
public virtual DriverType drivertype_tab { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Trip> trip_tab { get; set; }
}
ドライバタイプクラス
public partial class DriverType
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public DriverType()
{
this.driver_tab = new HashSet<Driver>();
}
public string ID { get; set; }
public string Type { get; set; }
public string Comment { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Driver> driver_tab { get; set; }
}
}
私は、データベースの最初のアプローチを使用しています。
関連するコードが質問に含まれている必要があります。それのイメージではありません。 –
これは貼り付けのビンのリンクです。画像ではありません。とにかく質問にコードを追加します。 – JayNaz
プロパティ 'int SelectedDriver'と' IEnumerable DriverList'を含むビューモデルを使用して開始し、 'db.DriverTypes.Select(x => new SelectListItem(){Value = x。 ID、Text = x.Type}); '[この質問/回答]のコードを参照してください(http://stackoverflow.com/questions/34366305/the-viewdata-item-that-has-the-key-xxx -is-of-type-system-int32-but-must-be-o) –