0

アプリケーションを下にスクロールしてページを読み込む必要があります。バックエンドとしてcouchdbを使用していますが、couchdbにページ付けオプションがあり、これで問題が解決すると思います。

問題は、ページネーションの実用的な例がどこにも見つからないことです。私のアプリケーションをこれで動作させるには、誰かの助けが必要です。

参考のためにこれを見てください:https ://github.com/soitgoes/LoveSeat/blob/master/LoveSeat/PagingHelper.cs

これは私のコードです。options = model.GetOptions();「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。

public List<newVO> Getdocs(IPageableModel model)
    {
        List<newVO> resultList = new List<newVO>();
        var etag = "";
        ViewOptions options = new ViewOptions();
        options = model.GetOptions();
        options.StartKeyDocId = lastId;
        options.Limit = 13;
        options.Skip = 1;
        var result = oCouchDB.View<newVO>("GetAlldocs", options);
        //model.UpdatePaging(options, result);
        if (result.StatusCode == HttpStatusCode.NotModified)
        {
            response.StatusCode = "0";
            return null;
        }
        if (result != null)
        {
            foreach (newVO newvo in result.Items)
            {
                resultList.Add(newvo );
            }
        }

        return resultList;

    }

前もって感謝します。すべてのアイデアを歓迎します。


public List<newVO> Getdocs(IPageableModel model)
        {
            List<newVO> resultList = new List<newVO>();
            var etag = "";
            ViewOptions options = new ViewOptions();
            options = model.GetOptions();
            options.StartKeyDocId = lastId;
            options.Limit = 13;
            options.Skip = 1;
            var result = oCouchDB.View<newVO>("GetAlldocs", options);
            //model.UpdatePaging(options, result);
            if (result.StatusCode == HttpStatusCode.NotModified)
            {
                response.StatusCode = "0";
                return null;
            }
            if (result != null)
            {
                foreach (newVO newvo in result.Items)
                {
                    resultList.Add(newvo );
                }
            }

            return resultList;

        }

これは私のコードであり、「options = model.GetOptions();」でエラーが発生します。オブジェクト参照がオブジェクトのインスタンスに設定されていない行...

4

1 に答える 1

1

LoveSeat ページングの実装は使用していませんが、LimitSkipプロパティを使用してViewOptionsページングを実現できます。

public static IEnumerable<T> GetPage(this ICouchDatabase couchDatabase,
    string viewName,
    string designDoc,
    int page,
    int pageSize)
{   
    return couchDatabase.View(viewName, new ViewOptions
    {
        Skip = page * pageSize,
        Limit = pageSize
    }, designDoc);
}

この単純な拡張メソッドは、CouchDB ビューからデータのページを取得します

于 2012-12-17T19:52:26.870 に答える