0

我是 MVC 和 EF 的新手,我有一个问题。我已经建立了一个带有模型视图控制器等的站点。在一个案例的编辑视图上(相当大的模型,所以我不会在这里发布)我有一个使用 CustomerID 的客户模型的 FK。当用户从下拉列表中选择客户 ID 时,我想在选择 ID 后显示 CustomerName、CustomerPhone 等。我想我可能需要回帖才能让它工作?

另外,我是否需要将相关实体作为初始数据“获取”的一部分?我已经阅读了一些细节,但我不完全理解它需要如何工作。

如果我应该发布更多信息,请告诉我。谢谢!

这是我编辑的 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);
    }

var v = db.Cases.Include("Customers") 行是我试图用来加载相关客户数据然后在我的编辑视图中显示的内容,如下所示:

@Html.EditorFor(model => model.Customer.CustomerName)
4

1 回答 1

0

好吧,这取决于您要做什么。您可以包含一个模型,该模型包含所有必需的数据,并在该页面上的每次调用中发送它(当然初始为空)一旦您选择了客户,进行回发并将 customerId 发送到您的应用程序并返回具有所需的相同页面模型。你也可以通过 AJAX 做到这一点。

另外,我是否需要将相关实体作为初始数据“获取”的一部分?

不知道我是否明白你想说什么。您的意思是您认为您必须将所有客户数据发送到页面并在客户端选择相关数据?

于 2012-06-19T14:33:15.900 回答