2013-12-21 52 views
1

关于视图上多个DropDownLists的设计问题。多下拉列表和视图和视图模型

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

例如:

如果我有以下查看模型:学生,并招生。在索引视图页面上,我将返回并显示所有学生。但是,我想根据从多个DropDownLists中选择的值(例如Suburb,Language)来过滤返回的学生数量。

每个DropDownList都将从数据库填充。我能想到

两种方法:

  1. 在学生视图模型,有郊区的(全配)收集,LanguageSpoken ...。

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

我不喜欢第一种方法,因为它的声音非常低效的,即所有郊区列表中的每个学生保持集合,语言......而且,不知道第二个方法是可行的,甚至是好主意。

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

+0

http://stackoverflow.com/questions/18351921/how-to-populate-a-cascading-dropdown-with-jquery –

回答

0

好,阅读,并尝试了一些事情后,很多,我终于有一个(简单的)解决方案:下拉列表使用ViewBag。

E.g. Student控制器将Student视图模型返回给视图,并且任何其他模型(例如邮编,语言...)均通过ViewBag返回给视图。

我把ViewBag适用于这样的数据,即查找(静态)类型的数据。