2013-08-07 4 views
1

У меня связаны данные списка из структуры сущности. Я выбрал несколько значений в этом списке. Но значения не запускаются. Счетчик только 0. Я использую следующий код:Множественный выбор ListBox не работает в asp.net mvc4

public class Sample1 
{ 
[Key] 
public int SampleId{ get; set; } 
public string SampleDesc{ get; set; } 
} 
public class ExpModel 
{ 
public List<Sample1> Sample{ get; set; } 
} 
public ActionResult Index() 
{  
ViewData["SampleList"] = new List<Sample1>(entity.samp); 
return View(); 
} 
@Html.ListBoxFor(model => model.Sample, new SelectList(((List<Details.Models.Sample1>)ViewData["SampleList"]), "SampleId", "SampleDesc")) 

Что мне нужно делать? Пожалуйста, помогите мне ...

+0

Пожалуйста, разместите свою модель и действие вашего контроллера. – ataravati

ответ

0

Вы должны связать помощник ListBoxFor к собственности, которая представляет собой набор простых/скалярных значений, такие как строки или целые числа:

public class Sample1 
{ 
    [Key] 
    public int SampleId { get; set; } 
    public string SampleDesc { get; set; } 
} 

public class ExpModel 
{ 
    public List<int> SelectedSampleIds { get; set; } 
} 

, а затем:

public ActionResult Index() 
{  
    ViewData["SampleList"] = new List<Sample1>(entity.samp); 
    return View(); 
} 

и на ваш взгляд:

@Html.ListBoxFor(
    model => model.SelectedSampleIds, 
    new SelectList(
     (List<Details.Models.Sample1>)ViewData["SampleList"], 
     "SampleId", 
     "SampleDesc" 
    ) 
) 

Теперь, когда вы отправите форму, то SelectedSampleIds пособ будет содержать выбранные идентификаторы в списке.

+0

спасибо Дарин Димитров. Я понял. – user2285613