0
在我的控制器中遇到此表达式的问题。我正在开发一个MVC 4项目,并且我还有一些审计记录,以及每个用户已经过滤的应用程序列表,以及每个应用程序在他们的审计历史记录中的列表。我使用下拉列表向审计日志添加筛选,该列表使用ajax调用方法,该方法使用下拉列表中选定项的appid针对审计记录重新运行审计日志,并仅返回包含匹配的appid的审计记录。有一个表达式的问题,让它过滤虽然。以下是我现在所拥有的:Lambda隐式转换的麻烦?
的方法我使用来实现:
[HttpPost]
public ActionResult GetRows(String username, int page, int? appId)
{
User user = UserManager.GetUser(username);
var filteredApps = UserManager.GetUserAppListFromAuditRecord(user);
List<ApplicationListView> appList = filteredApps.Select(Mapper.DynamicMap<ApplicationListView>).ToList();
List<SelectListItem> appsList = appList.Select(appItem => new SelectListItem
{
Text = appItem.Name,
Value = appItem.ID.ToString()
}).ToList();
ViewData["UserAppList"] = appsList;
SearchInfo searchInfo = new SearchInfo { UserName = username };
var auditRecord = _userHelper.GetAuditInfo(searchInfo, page);
**var filteredRows = auditRecord.AuditRecords.Where(a => a.ApplicationID = appList.Select(t => t.ID).ToList();**
return PartialView(auditRecord);
}
最佳地告诉你,每个用户的APPLIST的过滤在后端完成时调用数据库被制成。这就是为什么它被映射到视图模型,然后塞入选择列表。我遇到的部分是“filteredRows”变量。我试图将auditrecords与选择列表中的appid进行比较并返回过滤结果。谢谢!
我甚至没有想到使用“任意”,向你表示感谢。只要SO让我这么做,将其标记为正确。再一次,谢谢你! – Skrubb