一个视图上多个DropDownLists的设计问题。
在一个视图上显示多个DropDownList的最佳方法是什么?是否可以将多个DropDownLists传递给View模型?
例如:
如果我具有以下View模型:学生,课程和注册。在“索引视图”页面上,我将返回并显示所有学生。但是我想根据从多个DropDownLists中选择的值(例如郊区,LanguageSpoken ...)过滤返回的学生人数。
每个DropDownList将从数据库中填充。
我可以想到两种方法:
在“学生视图”模型中,有一个(完全填充的)郊区语言集合。
将多个模型传递给视图模型。在这种情况下,一个模型将是学生,而其他模型将分别是DropDownLists。我还没有研究这个细节。
我不喜欢第一种方法,因为它听起来效率很低,即每个学生都拥有所有郊区,语言列表的集合……而且,不确定第二种方法是否可行甚至是个好主意。
我正在使用ASP.NET MVC 5和实体框架6。
好了,经过大量阅读并尝试了许多事情之后,我终于有了一个(简单的)解决方案:使用ViewBag下拉列表。
例如,Student控制器将Student视图模型返回到视图,然后将其他模型(例如邮政编码,语言...)通过ViewBag返回到视图。
我认为ViewBag适用于此类数据,即查找(静态)类型的数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句