与 table 绑定的 DropDownList

DropDownList binding with table

我有 ASP.NET 个带有 table 的 MVC 应用程序,其中包含单位(地址、添加日期、评论)。

在 "create" 和 "edit" 表单中我想使用 DropDownList 例如。平面型。

我有 1 个 table 具有所有这些平面属性(地址等),第二个具有平面类型(id + 名称)。

我的问题是如何将下拉列表与平面类型 table 绑定,然后在这些 table 之间建立适当的关系?我可以在一个控制器中执行此操作吗?

总结:

我想提供包含一个 table 中项目的列表,将适当的 ID 值插入到基本 table 并将它们与 Id-Id 关系联系起来。猜猜我只能在我的 Create/Edit 视图中使用一个 @Html.Model (这是我的基本问题)

您没有将组件(下拉列表)绑定到数据库中的 table。

MVC 是一种设计模式,其中数据通过不同的层传递,从而获得清晰度和代码效率。

您的业务模型(MVC 中的 M)必须实现一种从数据库加载数据的方法。您可以使用 Linq2Sql,您可以通过数据库连接直接执行查询或使用您喜欢的任何系统。

这意味着当你的系统响应一个请愿书时,通常是一个控制器调用一个视图,如果你想让这个视图加载数据到一个对象中,你必须在将它传递给视图之前从数据库加载它.

因此,您的控制器决定调用视图,您的业务模型识别视图上需要的信息,并创建将提取到视图的数据结构。然后,在视图中,您只需 link 对模型中数据的下拉列表控件。

通常 SelectList 类型是通过 DropDownList link 数据的最佳选择之一,尽管您几乎可以使用任何 IEnumerable 类型。

TL;DR;:

  • 在调用视图之前从模型中的数据库中读取数据。
  • 构建 SelectList 并使用此数据加载它。
  • 将数据传递给视图(提示:它可以是更大数据结构的一部分)。
  • Link 将 SelectList 的 DropDownList 组件传递到视图模型中。