Pourquoi ne puis-je pas foreach par le biais de mon ViewData ou Modèle?

Je continue à recevoir des erreurs en essayant de parcourir mon ViewData dans le point de vue là... j'ai même essayé fortement tapant la vue de IEnumerable(App.Modèles.Espace de noms) et à l'aide d'un Modèle, en vain. Soit j'obtiens une erreur par manque d'un GetEnumerable méthode ou de type non valide casting... une idée de comment je le faire?

Modèle...

public IQueryable<Product> getAllProducts()
{
    return (from p in db.Products select p);
}

Contrôleur...

public ActionResult Pricing()
{
    IQueryable<Product> products = orderRepository.getAllProducts();

    ViewData["products"] = products.ToList();

    return View();
}

Vue...

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Pricing
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <h2>Pricing</h2>

    <div>
        <select class="product">
            <%foreach(var prod in ViewData["products"]){%>
                <option><%=prod.Title %></option>
            <%} %>

        </select><select></select>
    </div>

</asp:Content>
InformationsquelleAutor MetaGuru | 2009-09-17