多个DropDownLists以及View和View模型

时间:2013-12-21 02:29:21

标签: asp.net-mvc view viewmodel html-select

View上多个DropDownLists的设计问题。

在View上显示多个DropDownLists的最佳方法是什么?是否可以将多个DropDownLists传递给View模型?

例如:

如果我有以下View模型:学生课程注册。在索引视图页面上,我将返回并显示所有学生。但是我想基于从多个DropDownLists中选择的值来过滤返回的学生数量,例如Suburb,LanguageSpoken ......

将从数据库中填充每个DropDownList。

我能想到两种方法:

  1. 在学生视图模型中,拥有一个(完全填充的)Suburb,LanguageSpoken ...的集合。

  2. 将多个模型传递给View模型。在这种情况下,一个Model将是Student,其他Models将是每个DropDownLists。我还没有看过这个细节。

  3. 我不喜欢第一种方法,因为它听起来非常低效,即每个学生都拥有所有郊区,语言列表的集合......另外,不确定第二种方法是否可行,甚至不是一个好主意。< / p>

    我正在使用ASP.NET MVC 5和Entity Framework 6。

1 个答案:

答案 0 :(得分:0)

好的,经过大量的阅读和尝试,我终于得到了一个(简单)解决方案:使用ViewBag下拉列表。

E.g。学生控制器将一个学生视图模型返回到视图,任何其他模型(如邮政编码,语言...)将通过ViewBag返回到视图。

我认为ViewBag适用于此类数据,即查找(静态)类型数据。