Create アクションでは、エディター フィールドに情報を追加して Table1 に保存できますが、必要なフィールドの 1 つについては、Table2 の列から入力されたドロップダウン リストを選択して、Table1 に一度に保存できます。選択に応じて、フィールドの。Table2 のドロップダウン テーブルに情報を表示できましたが、Table1 には渡せませんでした。
モデル1:
public int id { get; set; }
public string JobNo { get; set; }
public string DelNo { get; set; }
public Nullable<int> DeptToPack { get; set; }
public string PackNo { get; set; }
public Nullable<decimal> TargetHrs { get; set; }
public Nullable<System.DateTime> PackingDate { get; set; }
public virtual Table2 Table2{ get; set; }
モデル 2:
public Table2()
{
this.Table1= new HashSet<Table1>();
}
public int id { get; set; }
public string Dept { get; set; }
public virtual ICollection<Table1> Table1{ get; set; }
複合モデル:
public class Combined
{
public Table1 Table1 { get; set; }
public Table2 Table2{ get; set; }
}
ビューには現在、SaveChanges() を使用して編集し、データベースに保存できるすべてのフィールドのテキスト エディターが表示されます。HomeController の Create アクションの下
アクションを作成
public ActionResult Create()
{
IEnumerable<SelectListItem> items = _db.Table2
.Select(c => new SelectListItem
{
Value = c.Dept,
Text = c.Dept
});
ViewBag.Dropdownlist = items;
return View();
}
[HttpPost]
public ActionResult Create(Table1 table1)
{
if (ModelState.IsValid)
{
_db.Table1.Add(table1);
_db.SaveChanges();
return RedirectToAction("Index");
}
return View(table1);
}
ビューには、table1 の情報と table2 の 1 つのフィールドが表示されます。@Html.DropDownList 要素に問題があるようです
私は現在、データを表示する(以下)を持っていますが、Table1に処理することはできません
@Html.DropDownList("Table1.Field1", (IEnumerable<SelectListItem>) ViewBag.DropDownList)
うまくいけば、画像がそれをよりよく説明しています。塗りつぶされた入力ボックスは、Table2 の {InfoToPass} 列のドロップダウン リストである 1 つのフィールドを除いて、Table1 に保存されます。ここでは、4 つのオプションのうちの 1 つを選択できます。他のすべての入力は Table1 に保存されます