2016-02-05 4 views
2

У меня есть простая форма, и у нее есть MultiSelectList внутри. Этот метод формы - GET. Когда я выберу больше предметов в SelectList и отправлю форму, я хочу посмотреть, что я выбираю. Для этого я использую SelectedValues. Но он выбирает только первый элемент в MultiSelectList.MVC multiselect выбранные значения без модели

Мой Вид:

<form method="get"> 
    @Html.DropDownList("kategori", new MultiSelectList(ViewBag.KategoriSelect, "id", "isim", ViewBag.KategoriSelected), 
new 
{ 
    @multiple = "true ", 
    @size = "8" 
}) 

    <input type="submit" value="gönder" /> 
</form> 

Мой контроллер:

public ActionResult Index(int[] kategori) 
    { 
     var db = new MyDbContext(); 

     var aracs = db.aracs.ToList(); 

     //items for multi select 
     ViewBag.KategoriSelect = db.kategoris.ToList(); 

     //selected items 
     ViewBag.KategoriSelected = kategori; 

     return View(aracs); 
    } 

Мой Get URL: http://localhost:6151/?kategori=2&kategori=1&kategori=4&kategori=3

HTML выход:
Html Output for multi select

Но он должен выбрать 11. что я должен сделать для этого?

+0

Сделайте это свойство и используйте модель представления со свойствами 'int [] SelectedCategories' и' IEnumerabe CategoryList' –

+0

Можете ли вы привести пример для этого? – ASPMaker

+0

OP уже имеет 'int [] kategori' в своем ActionResult и jsut, создав его свойство Viewmodel, не поможет. BTW @ASPMaker, вы получили эту исправленную или по-прежнему нуждаетесь в помощи? –

ответ

0

Я работал по похожему сценарию, где мы используем https://github.com/davidstutz/bootstrap-multiselect

Bootstrap MULTISELECT который может быть загружен в виде списка Фро C# и преобразует MULTISELECT со встроенной библиотекой JS.

Смежные вопросы