我收到错误'System.Collections.Generic.IEnumerable <eventlisting.models.myviewmodel>'不包含定义</eventlisting.models.myviewmodel>

时间:2011-09-29 15:55:59

标签: asp.net-mvc-2

如何将多个模型传递给控制器​​并将数据绑定到视图

我在该页面中有列表页面包含两个选项卡,一个用于活动列表,另一个用于活动列表。

如何创建模型并将数据绑定到viewpage。

如何将数据绑定到视图页面,我使用强类型模型

public class EventInfo  
    {

        public string SUBSITE { get; set; }
        public string TITLE { get; set; }
------
}
public class MyViewModel
{
    public IEnumerable<SomeViewModel> Active { get; set; }
    public IEnumerable<SomeViewModel> InActive { get; set; }
}



var model = new MyViewModel
            {
                Active = EventModel.EventList(ids, "", "", "", "", "", "", "", "1", "").ToList(),
                InActive = EventModel.EventList(ids, "", "", "", "", "", "", "", "1", "1").ToList()
            };

这是我的观看页面代码

<% foreach (var model in Model)
   { %>
     <tr>
       <td>
          <%= Html.ActionLink(model.TITLE, "Detail", new { id = model.EVENT_ID })%>
        </td>

我收到了错误

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS1061: 'System.Collections.Generic.IEnumerable<EventListing.Models.MyViewModel>' does not contain a definition for 'Active' and no extension method 'Active' accepting a first argument of type 'System.Collections.Generic.IEnumerable<EventListing.Models.MyViewModel>' could be found (are you missing a using directive or an assembly reference?)

Source Error:



Line 221:                    </thead>
Line 222:                    <tbody>
Line 223:                        <% foreach (var model in Model.Active)
Line 224:                           { %>
Line 225:                        <tr>

1 个答案:

答案 0 :(得分:2)

您的ViewPage代码与您发布的错误消息不符。

ViewPage代码显示您传递的模型是您正在循环显示链接的MyViewModel集合。

错误消息表明您只传递了一个MyViewModel,并且想要遍历Active集合。

更改您的ViewPage,以便您使用

@model MyViewModel

而不是

@model IEnumerable<MyVieWModel>