0

このエラーの原因はわかりませんが、linq query like ステートメントを使用して位置のリストをループし、別のループを使用して各位置のすべてのユーザーを取得しようとしています。

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();

エラーメッセージ: Uncaught Exception (js): Uncaught TypeError: Undefined のメソッド 'Where' を呼び出せません

4

1 に答える 1

1

.Where は bool 述語を取得する必要がありますが、それに文字列を渡しています。のようなものに変更してみてください

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