2013-04-05 5 views
1

Я пытаюсь добавить несколько selectlist, для создания он работает нормально, но для модификации я получаю выбранные значения из базы данных, но мне не удалось показать их на моей странице, это мой код контроллераasp.net mvc 3 listbox

IList<Entite> liste = articleDAO.GetById(id).Entites; 
ICollection<string> selectedValues = new List<string>(); 

foreach (Entite e in liste) { 
    selectedValues.Add(e.NomEntite); 
} 
MultiSelectList entites = new MultiSelectList(entitesDAO.GetAll(), "Id", "NomEntite", selectedValues); 
ViewBag.listeEntites = entites; 

и это мой взгляд код:

<%:Html.ListBox("listeEntites", ViewData["listeEntites"] as MultiSelectList, new { size = "4" })%> 
+0

Обычно у нас есть один контроллер-действий для создания и другой контроллер действие для модификации. Используете ли вы только одно действие контроллера для обоих типов поведения? Включить подпись метода при публикации вашего «кода контроллера» очень ценно и рекомендуется. –

+0

no Я использую 2 действия контроллера Первое действие редактирования перенаправляет на просмотр модификации, отображающей информацию, сохраненную в БД, после модификации будет выполнено второе редактирование – Pliskin

ответ

0

вы заселение selectedValues значениями из DataTextField вашего выбора списка - вам нужно заселять его с DataValueField:

foreach (Entite e in liste) { 
    selectedValues.Add(e.Id); 
} 
+0

Я сделал то, что вы сказали, но это не сработало, выбранные значения не выбрано – Pliskin

+0

Можете ли вы отладить и подтвердить, что 'selectedValues' на самом деле содержит элементы? –

+0

да содержит элементы. Я попытался использовать int и string, но никто не работает – Pliskin