0

我不确定导致此错误的原因是什么,但我正在尝试使用 linq 查询之类的语句来循环遍历位置列表,然后再进行另一个循环以获取每个位置的所有用户。

linq 是可枚举的

var getList = function () {
        Ajax.Get({
            Url: ...,
            DataToSubmit: {id: properties.Id },
            DataType: "json",
            OnSuccess: function (roleData, status, jqXHR) {
                // bind role types
                bindModel(roleData);
                console.log("roles:", roleData.length);

                Ajax.Get({
                    Url: ....,
                    DataToSubmit: { pageNumber: 1, id: properties.Id },
                    DataType: "json",
                    OnSuccess: function (userData, status, jqXHR) {
                        console.log("users", userData.length);
                        var results = linq.From(roleData.RoleTypes)
                            .ForEach(userData.Users)
                            .Where('x => x.ContentRole == "' + roleData.ContentRole + '"').Any();
                        console.log(results);
})
})

错误:

var results = linq.From(roleData.RoleTypes)
                                .ForEach(userData.Users)
                                .Where('x => x.ContentRole == "' + roleData.ContentRole + '"').Any();

错误消息: 未捕获的异常(js):未捕获的TypeError:无法调用未定义的方法“Where”

4

1 回答 1

1

.Where 必须得到一个 bool 谓词,但你正在向它传递一个字符串。尝试将其更改为类似

 .Where(x => x.ContentRole == roleData.ContentRole);
于 2013-10-07T06:00:27.470 回答