私はMVCとEFを初めて使用しますが、質問があります。モデルビューコントローラーなどを使用してサイトを構築しました。ケースの編集ビュー(かなり大きなモデルなので、ここでは投稿しません)に、CustomerIDを使用してCustomerモデルへのFKがあります。ユーザーがドロップダウンリストから顧客IDを選択するとき、IDの選択後にCustomerName、CustomerPhoneなどを表示したいと思います。これを機能させるには、ポストバックを行う必要があると思いますか?
また、初期データ「get」の一部として関連エンティティを含める必要がありますか?私はそれについていくらかの詳細を読みましたが、それがどのように機能する必要があるかを完全には理解していません。
さらに情報を投稿する必要があるかどうか教えてください。ありがとう!
これが編集用の私のActionResultです
public ActionResult Edit(int id)
{
Cases cases = db.Cases.Find(id);
//related data needs to loaded to show related data fields
//include related data entities
var v = db.Cases.Include("Customers");
ViewBag.TechnicianID = new SelectList(db.Technicians, "TechnicianID", "LastName", cases.TechnicianID);
ViewBag.BranchID = new SelectList(db.Branches, "BranchID", "BranchName", cases.BranchID);
ViewBag.EngineModelID = new SelectList(db.EngineModels, "EngineModelID", "EngineModelName", cases.EngineModelID);
ViewBag.CaseCategoryID = new SelectList(db.CaseCategories, "CaseCategoryID", "CategoryName",cases.CaseCategoryID);
ViewBag.Qualified = new SelectList(new[] { "YES", "NO", "PARTIALLY" });
ViewBag.CaseStatus = new SelectList(new[] { "OPEN/IN PROCESS", "CLOSED" });
return View(cases);
}
行varv= db.Cases.Include( "Customers")は、関連する顧客データをロードして、次のように編集ビューに表示するために使用しようとしているものです。
@Html.EditorFor(model => model.Customer.CustomerName)