【问题标题】:Cannot figure out view models无法弄清楚视图模型
【发布时间】:2015-05-19 10:27:43
【问题描述】:

我终其一生都无法弄清楚如何正确地创建视图模型。我们有两个模型,tblInventory 和 tblGlobalhardware,这两个模型都需要根据 InventoryID(tblInventory 中的主键,是 tblGlobalhardware 中的列)显示在库存项目的详细信息页面上。

我学习了许多教程,但在视图上更改时会出现模型等错误。

谁能给我指出一个基本的、易于理解的教程的方向?

谢谢

【问题讨论】:

    标签: c# asp.net-mvc viewmodel


    【解决方案1】:

    在 MVC 中,您通常将单个模型实例传递给视图。您想显示产品和库存的详细信息。所以你创建了一个视图模型类型:

    public class ProductViewModel
    {
        public Inventory Inventory { get; set; }
        public Product Product { get; set; }
    }
    

    现在您可以将视图绑定到此类型并显示来自两个对象的数据。只需在控制器中创建一个具有所需值的实例并将其发送到视图:

    var viewModel = new ProductViewModel { Inventory = inventory, Product = product};
    return View(viewModel);
    

    【讨论】:

    • 谢谢。它没有给出任何错误,但是当我执行 Model => Model.GlobalHardware.ComputerOS 时,tblGlobalHardware 表中的任何内容都没有显示
    • @SouthWilts 你能调试一下,看看你是否正确地从数据库中获取了值?
    • 在@Html.DisplayFor(Model => Model.GlobalHardware.ComputerOS) 上设置了一个断点,当它到达那个点时它会停止调试。
    • @SouthWilts 在创建视图模型实例时在控制器中放置一个断点。
    • 什么也没有,只是停在那里,命中计数为 0。我应该把它移到聊天中吗?
    猜你喜欢
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多