View上多个DropDownLists的设计问题。
在View上显示多个DropDownLists的最佳方法是什么?是否可以将多个DropDownLists传递给View模型?
例如:
如果我有以下View模型:学生,课程和注册。在索引视图页面上,我将返回并显示所有学生。但是我想基于从多个DropDownLists中选择的值来过滤返回的学生数量,例如Suburb,LanguageSpoken ......
将从数据库中填充每个DropDownList。
我能想到两种方法:
在学生视图模型中,拥有一个(完全填充的)Suburb,LanguageSpoken ...的集合。
将多个模型传递给View模型。在这种情况下,一个Model将是Student,其他Models将是每个DropDownLists。我还没有看过这个细节。
我不喜欢第一种方法,因为它听起来非常低效,即每个学生都拥有所有郊区,语言列表的集合......另外,不确定第二种方法是否可行,甚至不是一个好主意。< / p>
我正在使用ASP.NET MVC 5和Entity Framework 6。
答案 0 :(得分:0)
好的,经过大量的阅读和尝试,我终于得到了一个(简单)解决方案:使用ViewBag下拉列表。
E.g。学生控制器将一个学生视图模型返回到视图,任何其他模型(如邮政编码,语言...)将通过ViewBag返回到视图。
我认为ViewBag适用于此类数据,即查找(静态)类型数据。