将字典传递给视图

时间:2013-09-17 19:37:17

标签: asp.net-mvc-4

我将此类型传递给我的视图

Dictionary<String, List<myObj>> results = ...

View(results);

我的观点有这个宣言

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

我遇到了这个错误:

`The model item passed into the dictionary is of type 'System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[Models.myObj]]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[Models.myObj]'.`

这是因为我发送到视图的新结构。如何自动更新视图以便它使用新的参数类型?

我没有使用Razor视图

视图将显示手风琴,键是accorion的名称,字典的值将是手风琴选项卡展开时显示的数据

1 个答案:

答案 0 :(得分:1)

也改变视图中的类型:

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

我对ASPX视图引擎有点生疏,但你应该能够像这样循环:

<% foreach(var item in Model) { %>

   //some html

<% } %>