SharePoint 2010:Linq to Objects,检查用户是否在另一个列表中并使用当前项

时间:2012-12-03 10:07:08

标签: c# linq sharepoint-2010

我的用例:我有2个SPL,让我们召集一个事件,其他与会者。 我想要的:显示“注册”或“取消注册”按钮(在事件列表的可视化Web部件中),具体取决于当前用户可以位于当前事件的与会者列表中。 因此,如果当前用户已注册该事件,则page_load应显示“unregister”按钮或“register”按钮(如果不是)。

我通过

获取当前项目

currEventItem = (SPListItem)SPContext.Current.Item;

当前用户通过

currentUser = website.CurrentUser; userString = currentUser.ID.ToString() + ";#" + currentUser.LoginName.ToString();

现在我想使用System.Linq(Linq to Objects)来执行以下Query(伪sqlsyntax):

select * from AttendeeList where userString equals attendeeList.Name AND currEventItem.Title equals AttendeeList.EventTitle

与会者列表中的名称字段是一个用户(人或组,在此使用德语版本,所以我希望这是实际的翻译)字段。

我的问题和实际问题:我没有得到linq语法。谁能帮到我这里?太棒了!

编辑:稍后,我想显示相应的按钮,具体取决于结果是NULL还是非NULL。希望这有效吗?如果这不是可行的方法,将非常感谢另一种解决方案:)

1 个答案:

答案 0 :(得分:2)

这会给你真假,你可以申请复选框吗?:

Boolean exists = (AttendeeList.Where(m=> m.Name == userString)
                 .Where(m=> m.EventTitle == currEventItem.Title).Count() > 0);