2009-08-19 17 views
0

Ich habe ein Problem mit einer Auswahlliste, ich habe 8 Elemente und 3 von ihnen erhält den Wert ausgewählt = true in debug, aber das gerenderte Html das Element ist nicht ausgewählt.Ausgewähltes Element wird nicht ausgewählt

Was könnte falsch sein?

List<SelectListItem> UsergroupID = (from usg in _ug.GetUsergroups().ToList() 
              join ug in u.Usergroups 
              on usg.UsergroupID equals ug.UsergroupID into j 
              select 
              new SelectListItem 
              { 
               Selected = j.Any(), 
               Value = usg.UsergroupID.ToString(), 
               Text = usg.UsergroupName 
              }).ToList(); 

     ViewData["UsergroupID"] = UsergroupID; 

     return View("UserEdit", new UserAdminEditViewModel { User = u, Usergroups = _ug.GetUsergroups() }); 

Und meiner Meinung nach habe ich:

<%= Html.ListBox("UsergroupID", (IEnumerable<SelectListItem>)ViewData["UsergroupID"]) %> 

Was ist der Grund dafür, die drei Elemente nicht machen, die = true in der Select ausgewählt haben? /M

Antwort

0

sieht aus wie ein anderen Fehler in MVC mir ... Sie diesen Link zu erklären Teil der Ausgabe Link

+0

scheinen verweisen können auch mehr Varianten dieses Problems, wo die selectedValue aint Rendering aber zu sein einer sieht aus wie der wahrscheinlichste –

+0

Gibt es einen Weg, wie ich es leicht machen kann, stattdessen eine Liste von Checkboxen? mit einer foreach-Schleife? –

+0

Ich habe MVC nur einmal benutzt, also bin ich mir nicht sicher. Eine Möglichkeit, die du ausprobieren könntest, scheint für jemanden zu funktionieren, ist die TempData stattdessen ViewData ... das Problem ist, dass TempData ein wirklich kurzes Timelife hat, also wird es prolly gonna verfallen zu schnell und dann würden Sie Ihre Informationen verlieren ... sowieso ich empfehle nicht mit tempdata, aber wenn Sie keine andere Wahl haben, können Sie dies versuchen .. gluck –

Verwandte Themen