0

ASP.NETMVC2を使用してGoogleカスタム検索を実装しています。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 に答える