【问题标题】:Passing data from controller to the view将数据从控制器传递到视图
【发布时间】:2023-03-21 12:32:01
【问题描述】:

假设我有一个用于创建新项目的视图。项目仅包含两个属性 - 名称和组。

所以我想要一个包含一个文本框和一个 DropDownList 的视图。我使用 DropDownList 是因为用户不应该在 Group 字段中输入任何他想要的内容 - 已经有一些预定义的组,View 应该允许用户只选择一个组。

我有 ItemModel 类,它有两个属性 - Name(字符串)和 GroupId(int)。我的视图是 ItemModel 的强类型。

我的问题如下:我应该如何传递应该在 DropDownList 中作为选项呈现的有效组列表?我应该为此在 ItemModel 中创建另一个属性,还是使用 ViewBag 传递它或做其他事情?

【问题讨论】:

  • 您是否从数据库表中获取组?

标签: asp.net-mvc-4


【解决方案1】:

在你的控制器中添加:

ViewBag.MyGroups = new SelectList(db.Groups.Where(t => t.TGroupId == "1").ToList(), "MyGroups", "Description", 1);

在您添加的视图中:

@Html.DropDownList("MyGroups ");

基本上,创建一个新的选择列表并将其传递给 ViewBag。

【讨论】:

  • 我知道可以那样做,但我在徘徊是否是正确的做法(如果您考虑 MVC 设计模式)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 2011-09-09
  • 1970-01-01
  • 2017-01-29
相关资源
最近更新 更多