我正在使用ASP.NET MVC2来实现谷歌自定义搜索。我能够连接到googleAPI,传递我的查询,以JSON格式返回结果并将它们映射到.NET类。但是,当我创建一个视图来显示这些结果时,我会收到一个错误。
public ActionResult SiteSearch(string query)
{
var googleSiteSearchClient = new GoogleSiteSearchClient();
var model = googleSiteSearchClient.RunSearch(query);
return View(model);
}
我创建了一个基于Model的强类型视图,并尝试使用FOREACH循环来获得结果
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>SiteSearch</h2>
<% foreach (var item in Model) { %>
<%: item.Kind %> <br />
<% } %>
</table>
</asp:Content>
我收到此错误
传入字典的模型项目类型为'AASD2.Models.GoogleAPI.GoogleSearchResponse',但此字典需要类型为'System.Collections.Generic.IEnumerable`1的模型项[AASD2.Models.GoogleAPI.GoogleSearchResponse ]”。
任何建议,我做错了吗?
答案 0 :(得分:0)
似乎googleSiteSearchClient的结果不是集合。搜索结果集合可能是googleSiteSearchClient结果的属性。
使用
<% foreach (var item in Model.WhatEverTheCollectionIsNamed) { %>
<%: item.Kind %> <br />
<% } %>
或者
public ActionResult SiteSearch(string query)
{
var googleSiteSearchClient = new GoogleSiteSearchClient();
var model = googleSiteSearchClient.RunSearch(query);
return View(model.WhatEverTheCollectionIsNamed);
}