0

データページャーを動作させることができないようです。私は答えを探していましたが、「ID 'searchResults' を持つ ListView には、ICollection を実装するか、AllowPaging が true の場合はデータ ソース ページングを実行できるデータ ソースが必要です」というエラーが発生しているようです。は非常に一般的であり、通常は DataSource に ToArray() を配置することです。ただし、リンクステートメントに配列を配置する方法がわかりません。誰かアドバイスしてください。

     searchResults.DataSource = from r in response.Results
        select new
        {
            Title = r[SearchContentProperty.Title],
            Summary = r[SearchContentProperty.HighlightedSummary]
        };

    searchResults.DataBind(); 
4

2 に答える 2

2

ToArray()をLINQクエリに追加するには、次のことを試してください。

 searchResults.DataSource = (from r in response.Results
    select new
    {
        Title = r[SearchContentProperty.Title],
        Summary = r[SearchContentProperty.HighlightedSummary]
    }).ToArray();

searchResults.DataBind();
于 2012-06-29T20:58:01.750 に答える
1
searchResults.DataSource = (from r in response.Results
select new
{
    Title = r[SearchContentProperty.Title],
    Summary = r[SearchContentProperty.HighlightedSummary]
}).ToArray();

searchResults.DataBind(); 本当です、

編集:私はほとんど同じ問題を抱えていますが、それでもページングがうまくいかない場合は、searchResults PagePropertiesChanging イベントを使用して、このようなコードを記述してページングをうまく取得できます

protected void searchResults_PagePropertiesChanging(object sender,PagePropertiesChangingEventArgs e)
{
DataPager1.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);

//write your codes again to bind data,for this example:


searchResults.DataSource = from r in response.Results
select new
{
    Title = r[SearchContentProperty.Title],
    Summary = r[SearchContentProperty.HighlightedSummary]
 };

 searchResults.DataBind();
}
于 2012-10-16T09:39:23.743 に答える