我有带有表格的ASP.NET MVC应用程序,其中包含单位(地址,添加日期,评论)。
在“创建”和“编辑”表单中,我想使用DropDownList,例如。适用于扁平型。
我有1个包含所有这些平面属性的表(地址等),第二个是平面类型(id + name)。
我的问题是如何将dropdownlist与平面类型表绑定,然后在这些表之间建立适当的关系?我可以在一个控制器中执行此操作吗?
要点:
我想提供一个表中的项目列表,将正确的Id值插入基本表并将它们与Id-Id关系连接起来。猜猜我在创建/编辑视图中只能使用一个@ Html.Model(这是我的贝司问题)
答案 0 :(得分:0)
您不会将组件(下拉列表)绑定到数据库中的表。
MVC是一种设计模式,数据通过不同的层传递,提高了清晰度和代码效率。
您的业务模型(MVC中的M)必须实现从数据库加载数据的方法。您可以使用Linq2Sql,您可以通过数据库连接直接执行查询或使用您喜欢的任何系统。
这意味着当您的系统对请求作出反应时(通常是Controller调用View),如果您希望此View将数据加载到对象中,则必须先将其从数据库加载,然后再将其传递给View。 / p>
因此,您的控制器决定调用View,您的业务模型会识别View上需要的信息,并创建将被提取到View的数据结构。然后,在视图中,您只需将下拉列表控件链接到模型中的数据。
通常,SelectList类型是通过DropDownList链接数据的最佳选项之一,尽管您几乎可以使用任何IEnumerable类型。
TL; DR;: