【发布时间】:2015-04-09 13:27:39
【问题描述】:
我正在使用 jQuery 测试自动完成功能,但是我无法显示正确的标签。当搜索只涉及 1 个字段或条件时,很简单:
var model = db.UserProfiles.Where(u => u.Department.Contains(term))
.Take(10).Select(r => new
{
label = r.Department
}).Distinct();
return Json(model, JsonRequestBehavior.AllowGet);
但是,如果我想处理多个搜索条件(即当用户输入一个 searchTerm 时,它会在表中的任何地方查找匹配结果),例如:
var model = db.UserProfiles.Where(u => (u.FirstName + " " + u.LastName).Contains(term) || u.Department.Contains(term) ||
u.JobTitle.Contains(term) || u.PhoneNumber.Contains(term) || u.Extension.Contains(term) || u.Location.Contains(term))
.Take(10).Select(r => new
{
label = //How do I display the correct label here?
}).Distinct();
return Json(model, JsonRequestBehavior.AllowGet);
预期输出:
如果有一个人名“Terry”,并且表格中还有一个叫“Technology”的部门,当用户输入“te”时,应该同时显示“Technology”和“Terry”
【问题讨论】:
标签: c# jquery asp.net-mvc linq linq-to-entities