Knockout和breeze.js采取的方法是不工作Paging

时间:2013-12-05 06:38:31

标签: javascript jquery knockout.js breeze

Datacontext.js

var manager = new breeze.EntityManager('breeze/BreezeData'); 

    function getMenuItems() {
             var query = new breeze.EntityQuery("Products").take(5);
             return manager.executeQuery(query);
         }

Products.js

function loadProducts() {
        return datacontext.getMenuItems().then(function (data) {
            data.results.forEach(function (item) {
                self.menuProducts.push(item);
            });
        }).fail(function (data) {
            logger.logError('Failed to load Products', null, "", true);
        });
    }

行动方法

 [HttpGet]
        public IEnumerable<MenuItem> Products()
        {
            var venueId = GetCurrentVenue().ID;
            return _contextProvider.Context.MenuItem.Where(mi => mi.Venue.ID == venueId);
        }

它返回了将近45条记录,但我在这里使用了take(5)并且该功能无效并返回相同的结果。我是新手,所以我刚刚开始实现它。

提前致谢..

1 个答案:

答案 0 :(得分:2)

将操作方法​​更改为:

    [HttpGet]
    public IQueryable<MenuItem> Products()
    {
        var venueId = GetCurrentVenue().ID;
        return _contextProvider.Context.MenuItem.Where(mi => mi.Venue.ID == venueId);
    }

如果它仍然无效,请尝试添加orderBy,以防服务器不确定实际上前5项是什么。