我不确定这个错误的原因是什么,但我试图使用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'of undefined
答案 0 :(得分:1)
。必须得到一个bool谓词,但是你要传递一个字符串。尝试将其更改为
.Where(x => x.ContentRole == roleData.ContentRole);