有谁知道如何根据下拉列表中所选项目的值过滤文本框中返回的数据,或者有任何链接。
即,如果用户从列表中选择酒店,那么当他们开始在文本框中输入时,只有与酒店类别匹配的公司的地址才会使用自动完成功能出现。
我在下面添加了服务器端代码,但出现以下错误。
public JsonResult FilterDirectorySearch(string searchText, string context)
{
var wq = DirectoryList(searchText,context).Select(a =>
new { Location = a.strLocationSearch });
return Json(wq.Distinct(), JsonRequestBehavior.AllowGet);
}
private List<DisplayDirectoryDataForSearchBox> DirectoryList(string searchString, string context)
{
var wq = _IGTDD.DisplayDirectoryData()
.Where(a => a.strLocationSearch.Contains(searchString, StringComparison.OrdinalIgnoreCase) && a.strCategory = context).ToList();
return wq.ToList();
}
错误 错误 1 实例参数:无法从“字符串”转换为“System.Linq.IQueryable”
错误 2 'string' 不包含 'Contains' 的定义,并且最佳扩展方法重载 'System.Linq.Queryable.Contains(System.Linq.IQueryable, TSource, System.Collections.Generic.IEqualityComparer)' 有一些无效参数
错误 3 参数 3:无法从 'System.StringComparison' 转换为 'System.Collections.Generic.IEqualityComparer'
忘记为下面的代码添加此错误
return (from x in wq where x.strLocationSearch.StartsWith(searchString, StringComparison.OrdinalIgnoreCase) && x.strCategory = context select x.strLocationSearch).AsEnumerable();
错误消息:错误 1 运算符“&&”不能应用于“布尔”和“字符串”类型的操作数