2013-12-21 84 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適用於這樣的數據,即查找(靜態)類型的數據。