This code works fine
List stateList = (from x in db.States
select new StateModelView {
The ViewBag
is a dynamic object, which cannot be used directly from your View (that is basically what the error is saying). You'll need to cast it:
@Html.DropDownList("StateList", (SelectList) ViewBag.StateList)
Another option would be to use ViewData
though it may also require casting.
You need to cast your ViewBag item (which is anonymous) to a SelectList:
@Html.DropDownList("StateList", (SelectList)ViewBag.StateList)
Another method to get around this casting issue and from what I gather the preferred way, is to use a View Model and bypass ViewBag all together.