0

我正在使用 ASP.NET MVC2 来实现谷歌自定义搜索。我能够连接到 googleAPI,传递我的查询,以 JSON 格式获取结果并将其映射到 .NET 类。但是,当我创建一个视图来显示这些结果时,我收到了一个错误。

public ActionResult SiteSearch(string query)
        {
            var googleSiteSearchClient = new GoogleSiteSearchClient();
            var model = googleSiteSearchClient.RunSearch(query);
            return View(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]”的模型项。

任何建议,我在哪里做错了?

4

1 回答 1

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);        
        }
于 2012-05-10T19:08:01.890 回答