4

素晴らしいWebApiとBackboneを試したのはこれが初めてです。これまでのところ、すべてが天国で行われた試合のようです。ただし、ODataフィルターを使用して関連データを返すことができないようです。たとえば、アクションメソッドとして次のものがあります。

    //GET /api/posts/
    public IQueryable<KiaFamilyPost> Get()
    {
        return _db.Posts
            .Include("Badge")
            .Include("Entry")
            .AsQueryable();
    }

次に、上記の投稿をフィルタリングして、降順で返します。私の理解から、次の「http:// [MySite] / api / posts?$ filter = id eq 2&$ orderby=DatePostdesc」を実行できます。私は無駄に次のことをしようとしています:

        APP.posts_collection.fetch({data: {
            entryId: APP.entry.get('Id'),
            $order: 'Id desc'
        }});

バックボーンは、コントローラー「http:// [MySite] / api / posts?entryId = 1&%24order = Id+desc」に対して次の呼び出しを行います。誰でもこれを正しく機能させることができましたか?

ありがとう

タイロン

4

2 に答える 2

4

AddyOsmaniのbackbone.paginatorというプラグインを試してみました。MVC4のようなWebApiを使用している場合は、これが最適だと思います。Paginatorが提供するいくつかのパラメーターを使用して、コレクションを拡張するだけです。例えば。

    perPageAttribute: '$top',

    skipAttribute: '$skip',

    orderAttribute: 'orderBy',

    customAttribute1: '$inlinecount',

    queryAttribute: '$filter',

    formatAttribute: '$format',

    customAttribute2: '$callback',`
于 2012-05-16T07:52:49.277 に答える
0

このコードが機能するかどうかを確認してください:(APP.entryがモデルであると想定したため、そのURLを取得するためにAPP.entry.urlと呼びました)

   var entryId = APP.entry.get('Id');
   var queryUrl = APP.entry.url() + '?$filter=id eq ' + entryId +'&$orderby=DatePost desc';
   APP.posts_collection.fetch({ url : queryUrl });

私はそのようなコードをテストしていませんが、それが機能するか、少なくともあなたに手がかりを与えることを願っています。

于 2012-04-30T07:35:20.073 に答える