2011-03-25 62 views
3

如何創建一個簡單的,單一的選擇列表中使用Razor視圖引擎框中選擇?我目前遇到兩個問題。首先是生成的列表框「選擇」代碼自動添加了「多個」。問題一是如何關閉它。不,我不想使用下拉列表框。如何創建一個單一選擇列表框,顯示使用剃刀

問題二是棘手。在輸出HTML中生成的「選擇」不顯示任何項目被選中,儘管所討論的項目具有選定的值。這裏是我的代碼:

對象模型:

public class Description 
{ 
    public String code { get; set; } 
    public SelectList codelist; 
} 

控制器:

code = "drain"; 
codelist = new SelectList(sourcelist, "Key", "Value", "drain"); 

查看:

@Html.ListBoxFor(model => model.code, Model.codelist) 

輸出HTML:

<select data-val="true" data-val-required="The Select the permit type to apply for field is required." id="code" multiple="multiple" name="code"><option value="drain">Interior Drain Repair</option> 
... yadda yadda yadda 
</select> 

你可以在這裏看到我的兩個問題。首先,「多個」已被添加到選擇列表中,並且選擇的選項「drain」未被選擇。

有什麼建議嗎?我只是在扔剃刀和手工編碼這些東西。

回答

0

哦,我有點得到的回答質疑一個 - 原來它是從簡單的列表改變渲染,如果「多」被移除下拉列表中的瀏覽器,所以我不得不創意解決這個問題。

兩個問題仍 - 爲什麼不剃刀保持在渲染過程中我選擇的價值?

+1

並回答問題二。如果在ListBox中使用「MultiSelectList」,並在DropDownList中使用「SelectList」,那麼事情就會像他們應該那樣工作。 我不想責怪剃鬚刀爲我的錯誤,但是這正是強大的打字,做對的情況下,應** **已經趕上。好吧。 :-P – 2011-03-25 23:36:09

1

用戶Html.DropDownList而不是Html.ListBox創建一個單一的選擇框。

2

要創建可以使用DropDownListFor但設置大小屬性的單一選擇列表框...所以做到這一點:

@Html.DropDownListFor(model => model.code, 
     Model.codelist, 
     new Dictionary< string, object >() { { "size", "3"} }) 
相關問題