2009-11-09 4 views
1

dans la page ASPX je reçois cette erreur lors de la liaison liste déroulantelier dérouler?

Impossible de jeter l'objet de type « System.Web.Mvc.SelectList » taper « System.Collections.Generic.IList`1 [System.Web.Mvc.SelectListItem] '.

J'ai écrit:

<p> 
    <label for="categoryId">Category:</label> 
    <%= Html.DropDownList("categoryId", (IList<SelectListItem>)ViewData["categoryId"])%> 
    <%= Html.ValidationMessage("categoryId", "*")%> 
</p> 

s'il vous plaît me dire la bonne façon d'écrire.

grâce

ritz

Répondre

1

quel est le code dans l'action du contrôleur que vous utilisez pour générer vidéotex [ « CategoryId »], voici ce que je fais normalement dans le code d'action:

ArrayList categoryList=New ArrayList; 
     foreach (category c In YourcategoryCollection) 
{   categoryList.Add(New With {.Item = c.categoryName, .value = c.categoryID}) 
} 
    Viewdata("categoryId")=New SelectList(categoryList, "Value", "Item", itemToEdit.categoryID)} 

puis à votre avis, vous venez besoin:

<%= Html.DropDownList("categoryId", ViewData["categoryId"])%>