Why does this render as a list of "System.Web.Mvc.SelectListItem"s?

Posted by JMT on Stack Overflow See other posts from Stack Overflow or by JMT
Published on 2010-06-09T18:43:08Z Indexed on 2010/06/09 19:02 UTC
Read the original article Hit count: 706

Filed under:
|
|

I'm trying to populate a DropDownList with values pulled from a property, and my end result right now is a list of nothing but "System.Web.Mvc.SelectListItem"s. I'm sure there's some minor step I'm omitting here, but for the life of me I can't figure out what it is.

The property GET generating the list:

public IEnumerable<SelectListItem> AllFoo {
    get {
        var foo = from g in Bar
                  orderby g.name
                  select new SelectListItem {
                     Value = g.fooid.ToString(),
                     Text = g.name
                  };

        return foo.AsEnumerable();
    }
}

The controller code:

public ActionResult Edit(string id) {
    // n/a code
    ViewData["fooList"] = new SelectList(g.AllFoo, g.fooid);

    return View(model);
}

The view code:

<%= Html.DropDownListFor(model => model.fooid, ViewData["fooList"] as SelectList) %>

© Stack Overflow or respective owner

Related posts about c#

Related posts about asp.net-mvc