如何将多个模型用于一个视图

本文关键字:一个 视图 模型 用于 | 更新日期: 2023-09-27 18:36:31

我在同一个EDMX中有几个数据表/实体(杏香蕉,柠檬),每个表都有多列(名称,数量,日期,排序)

在一个视图中,我有一个下拉列表(DropDownList),其中包含("A","B"和"C")

我想做什么:

在我的下拉列表中:当我选择值 A 海报时,我向下下拉列表中(在同一视图中) 表数据 APRICOT

当我选择值I B时,我的组合底部会出现(以相同的顺序)来自表格BANANA

的数据

当我选择值 C 时,我出现在组合的底部(以相同的顺序)来自表格 BANANA 的数据

你能给我一个示例代码这个类、控制器和视图吗?对不起,我是初学者!谢谢

非常感谢您的帮助

杰里米

如何将多个模型用于一个视图

创建一个新的视图模型类,该类将获取您需要的所有数据并将该视图模型传递给视图。然后,您可以根据所选的下拉列表显示视图模型中的数据。

水果.cs

public class Fruit
{
    public string Name { get; set; }
    public int Quantity { get; set; }
}

水果视图模型.cs

public class FruitViewModel
{
    public IEnumerable<Fruit> Fruits { get; set; }
    public FruitViewModel(IEnumerable<Fruit> fruit)
    {
        Fruits = fruits
    }
}

控制器.cs

public ActionResult FruitView()
{
   var fruits = //get your data here
   return View(new FruitViewModel(fruits));
}

查看.cs

@model FruitViewModel
@Html.DropDownList("FruitTypeId", new SelectList(Model.Fruits , "Id", "Name"), "Select one")

根据选定的 Id,您可以使用 Javascript 显示所需的值