C# 传入字典的模型项的类型为';System.Tuple`?

C# 传入字典的模型项的类型为';System.Tuple`?,c#,.net,asp.net-mvc,asp.net-mvc-4,razor,C#,.net,Asp.net Mvc,Asp.net Mvc 4,Razor,在我看来,我实现了使用两个模型的元组 The model item passed into the dictionary is of type 'System.Tuple`2[System.Collections.Generic.List`1[MvcApplication1.Models.EventRepository],System.Collections.Generic.List`1[MvcApplication1.Models.SlideShow]]', but this dictio

在我看来,我实现了使用两个模型的元组

The model item passed into the dictionary is of type 
'System.Tuple`2[System.Collections.Generic.List`1[MvcApplication1.Models.EventRepository],System.Collections.Generic.List`1[MvcApplication1.Models.SlideShow]]', 
but this dictionary requires a model item of type 
'System.Tuple`2[System.Collections.Generic.IEnumerable`1[MvcApplication1.Models.EventRepository],System.Collections.Generic.IEnumerable`1[MvcApplication1.Models.SlideShow]]'.
这是我的视图

@model Tuple<IEnumerable<MvcApplication1.Models.EventRepository>, IEnumerable<MvcApplication1.Models.SlideShow>>
    ViewBag.Title = "Home Page";
}
有什么建议吗

编辑: 我在视图中调用了两个局部视图,得到了这个错误

 The model item passed into the dictionary is of type 
'System.Tuple`2[System.Collections.Generic.List`1[MvcApplication1.Models.EventRepository],System.Collections.Generic.List`1[MvcApplication1.Models.SlideShow]]', 
but this dictionary requires a model item of type 
'System.Collections.Generic.List`1[MvcApplication1.Models.EventRepository]'.
这是我的视图

  @model Tuple<IEnumerable<MvcApplication1.Models.EventRepository>, IEnumerable<MvcApplication1.Models.SlideShow>>
       @Html.Partial("EventDetails")
       @Html.Partial("SlideShow")
@模型元组
@Html.Partial(“事件详细信息”)
@Html.Partial(“幻灯片放映”)
局部视图1

@model List<MvcApplication1.Models.EventRepository>
@型号列表
局部视图2

@model List<MvcApplication1.Models.SlideShow>
@型号列表
回答:
我已经回答了这个问题(编辑)

更改:

@model Tuple<IEnumerable<MvcApplication1.Models.EventRepository>, IEnumerable<MvcApplication1.Models.SlideShow>>
    ViewBag.Title = "Home Page";
}
@模型元组
ViewBag.Title=“主页”;
}

@模型元组
ViewBag.Title=“主页”;
}

您正在将模型定义为
IEnumerable
,但在控制操作(索引)的
return
语句中向下传递
列表。如果要防止集合在视图中被修改,还可以传递
IEnumerable

对于新错误,可以将元组的特定部分传递给每个部分:

@Html.Partial(“EventDetails”,Model.Item1)

@Html.Partial(“幻灯片”,Model.Item2)


但正如@henk holterman所说,您可能应该创建一个特定的视图模型。

我编辑的答案是
@model Tuple

由于我们将返回包含两个对象集合的视图作为元组,因此我们必须在部分视图中定义这两个模型

您当然可以(应该)为此编写一个特殊的(视图)模型。。。
@model Tuple<IEnumerable<MvcApplication1.Models.EventRepository>, IEnumerable<MvcApplication1.Models.SlideShow>>
    ViewBag.Title = "Home Page";
}
@model Tuple<List<MvcApplication1.Models.EventRepository>, IEnumerable<MvcApplication1.Models.SlideShow>>
    ViewBag.Title = "Home Page";
}