DropDownList与表绑定

时间:2016-04-06 16:01:04

标签: asp.net-mvc html.dropdownlistfor

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

在“创建”和“编辑”表单中,我想使用DropDownList,例如。适用于扁平型。

我有1个包含所有这些平面属性的表(地址等),第二个是平面类型(id + name)。

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

要点:

我想提供一个表中的项目列表,将正确的Id值插入基本表并将它们与Id-Id关系连接起来。猜猜我在创建/编辑视图中只能使用一个@ Html.Model(这是我的贝司问题)

1 个答案:

答案 0 :(得分:0)

您不会将组件(下拉列表)绑定到数据库中的表。

MVC是一种设计模式,数据通过不同的层传递,提高了清晰度和代码效率。

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

这意味着当您的系统对请求作出反应时(通常是Controller调用View),如果您希望此View将数据加载到对象中,则必须先将其从数据库加载,然后再将其传递给View。 / p>

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

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

TL; DR;:

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