【发布时间】:2011-03-29 11:02:42
【问题描述】:
我有以下代码可以提取文本框自动完成扩展器中使用的项目列表:
return autocomplete.tblAutoCompletes
.Where(p => p.MemberId == memberid && p.LocationId == locationid && p.ACItem.Contains(prefixText))
.OrderBy(p => p.ACItem)
.Select(p => p.ACItem)
.Take(count)
.ToArray();
其中 memberid 和 locationid 是会话。
在这个项目列表中,我可能希望根据用户偏好排除一些项目。此首选项也被存储为会话。
所以例如我有下表:
ACItem ACColumn
aa Product
ab Product
ac Product
ad Status
ae Status
af Status
ag Category
ai Category
aj Category
如果我在文本框中输入“a”,则会显示所有产品 ACItems。
但是,在某些情况下,我不希望用户自动完成以显示某个状态和/或产品。例如,我不希望用户看到状态“af”或类别“ai”。
当用户登录时,我将这些首选项存储为会话(即“DoNotDisplayaf”或“DoNotDisplayai”)
如何修改我的原始方法,以便自动完成功能将这些异常考虑在内?
抱歉,如果我的问题/示例有点模糊,请原谅。
感谢您提供的任何帮助。
【问题讨论】:
标签: c# linq methods autocomplete