我確定這是一個常見的操作,但我很難找到解決方案。這是網頁上兩個<select>
的問題,其中一個取決於其他可能值的列表。ASP.NET MVC中的空SelectList
我有一個下拉列表,其中包含一個網頁上的子代碼,其可能值的列表取決於包含狀態代碼的頁面上的另一個下拉列表中的選擇。在我的控制器中,我從數據庫中檢索可能的狀態代碼列表,並將這些值放入SelectList中,該列表由DropDownList HTMLHelper用來在視圖中構建我的選擇列表。我檢索一個包含狀態代碼的模型記錄,並使用該狀態代碼值查找數據庫中的子狀態的可能值,然後將該列表放入另一個SelectList中作爲第二個下拉列表。當用戶更改狀態下拉列表中的選擇時,該頁面會向服務器發送ajax回調以重新填充子狀態下拉列表,並顯示新的可能值列表。
空的狀態碼確實不是一個有效的值,但是這是一個用於糾正這些問題的質量控制應用程序。我的問題是,模型記錄上的當前狀態代碼可以有時爲空,因此第二個下拉列表中的子狀態值列表將爲空。不幸的是,似乎沒有辦法創建一個空的SelectList傳遞給DropDownList HTMLHelper,但我的下拉列表必須在加載頁面以支持我的ajax解決方案時創建。
有沒有人制定出一種高效,超級爽滑的方式來處理這種情況?或者我需要訴諸一些醜陋的東西,比如檢查我的視圖中的子狀態SelectList是否爲空,以及它是否使用不同的HTML來生成下拉列表?看起來我的病態心態是,能夠生成一個空的SelectList以切換到HTMLHelper將是一個合理的解決方案。我歡迎任何想法。
也MultiSelectList通過增加工作Enumerable.Empty()作爲參數 –
garyh
2016-11-17 12:03:49