おそらく単純ですが、何かが足りないようです。
2つのモデル:
public class Hardware
{
[Required]
public int Id { get; set; }
public int SerialNum { get; set; }
public int ProductNum { get; set; }
public string Notes { get; set; }
public DateTime PurchaseDate { get; set; }
public DateTime WarrantyExpiration { get; set; }
public virtual Manufacturer Manufacturer { get; set; }
}
public class Manufacturer
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
public virtual ICollection<Hardware> Hardware { get; set; }
}
[ハードウェアの作成]ビューに移動するときに、[メーカー]のドロップダウンから選択できるようにしたいのですが、送信するときに、ハードウェアと選択したメーカーとの関係を確立する必要があります。
現時点では、コントローラーでselectListを作成するために以下を使用しています
SelectList selectList = new SelectList(db.Manufacturers, "Id", "Name");
ViewBag.selectList = selectList;
そして、それをビューにキャストします。
@Html.DropDownListFor(model => model.Manufacturer, ViewBag.selectList as SelectList)\
ただし、これを行うにはもっと良い方法があるはずです。おそらく、SelectList型のプロパティを使用してハードウェアから継承するviewModelを作成しますか?