asp.net-mvc - 为什么我无法通过 ViewData 或 Model 进行 foreach 操作?

标签 asp.net-mvc ienumerable

我在尝试迭代 View 中的 ViewData 时不断遇到错误...我什至尝试将 View 强烈键入 IEnumerable(App.Models.Namespace) 并使用 Model,但无济于事。我要么因为缺少 GetEnumerable 方法而收到错误,要么因类型转换无效...知道我该怎么做吗?

型号...

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

Controller ...

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

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

    return View();
}

查看...

<%@ 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>

最佳答案

与 Actor 一起尝试:

foreach(var prod in (List<Product>)ViewData["products"])

关于asp.net-mvc - 为什么我无法通过 ViewData 或 Model 进行 foreach 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1441215/

相关文章:

asp.net-mvc - IAuthorizationFilter 的设置结果

asp.net - 如何查找哪个 Controller /操作发生错误?

javascript - 如何将不同的局部 View 加载到 mvc 4 中的 Bootstrap 模式

javascript - 为什么我的 JQuery-UI 选项卡控件无法正确呈现?

sql-server - SQL Server FileTable 和 ASP.NET : permissions for user

c# - IEnumerable foreach,对最后一个元素做一些不同的事情

c# - 如何在不创建新列表的情况下检索 IEnumerable 的基础列表?

c# - 使用 IEnumerable 接口(interface)是否可以减少并发问题

c# - 带有简单 int[] 的 IEnumerable Any()

c# - 从 Linq 查询返回 IEnumerable<string>