将对象集合发送到Razor视图

时间:2011-10-10 12:10:51

标签: asp.net-mvc

我的控制器:

        IList<OrderRow> emailOrders = ParseIncomingEmails();
        return View("ImportEmailedOrders.cshtml", emailOrders);

我的aspx页面允许我迭代:     foreach(模型中的OrderRow orderRow)

我尝试了'@inherits'和'@model ....'指令的各种组合,却没有找到正确的语法来为Razor视图实现相同的循环机制。

THX

3 个答案:

答案 0 :(得分:1)

你应该只需要把

@model IList<OrderRow>

位于页面顶部。

问题是您没有OrderRow的完全限定名称空间吗?

@model IList<Namespace.OrderRow>

您可以在网络配置中添加名称空间,如

        <namespaces>
            <add namespace="System.Web.Helpers" />
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="System.Web.WebPages"/>
            <add namespace="MyMvcProject.Namespace"/>
        </namespaces>

答案 1 :(得分:0)

你想要

@model IList<OrderRow>

答案 2 :(得分:0)

您需要将此声明放在页面的开头

@model IList<OrderRow> 

你可以在模型上进行迭代

@foreach(var item in model)
{
  //do something
}