0

私は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)
4

1 に答える 1

0

まあそれはあなたがやろうとしていることに依存します。必要なすべてのデータを保持し、そのページのすべての呼び出しでそれを送信するモデルを含めることができます(最初は空です)顧客を選択したら、ポストバックを実行してcustomerIdをアプリケーションに送信し、目的の同じページを返しますモデル。AJAXを介してそれを行うこともできます。

また、初期データ「get」の一部として関連エンティティを含める必要がありますか?

あなたが何を言おうとしているのか理解できるかどうかわかりません。すべての顧客のデータをページに送信し、クライアント側で関連データを選択する必要があると思いますか?

于 2012-06-19T14:33:15.900 に答える