Asp.net

如何在 mvc 4 中使用多項選擇?

  • December 8, 2012

我想在 Chosen中使用多項選擇。我有類似的技能模型,

public class Skill 
   {
       public int Id { get; set; }
       public string Name { get; set; }        
   }

這適用於我的應用程序:

   <select data-placeholder="Choose a Country..." class="chzn-select" multiple >
          <option value=""></option>
          <option value="United States">United States</option>
          <option value="Albania">Albania</option>
          <option value="Algeria">Algeria</option>
  </select>

我想用我的數據替換國家數據。在控制器中我寫:

       var list = MyService.LoadAllSkills();
       ViewBag.Skills = new MultiSelectList(list, "Id", "Name");

鑑於:

@Html.ListBox("Name", ViewBag.Skills as MultiSelectList,
             new { @class = "chzn-select" } )

**@Html.ListBox()@Html.DropDownList()**的查看結果不一樣<select>

我得到這樣的結果:

在此處輸入圖像描述

但是,我想得到結果

在此處輸入圖像描述

如何更改選擇的樣本?

我可以看到硬編碼範例(您說它正在工作)與您使用 ListBox 幫助程序生成的範例之間的唯一區別是缺少該data-placeholder屬性。所以:

@Html.ListBox(
   "Countries", 
   ViewBag.Skills as MultiSelectList,
   new { @class = "chzn-select", data_placeholder = "Choose a Country..." } 
)

這至少應該生成與您所說的相同的標記。如果它不起作用,那麼可能您沒有正確設置外掛或者您有其他一些 javascript 錯誤。閱讀外掛的文件,了解它應該如何設置。

引用自:https://stackoverflow.com/questions/13776851