在WSS 3.0中查找项目列表ID时出现问题

时间:2009-08-03 15:47:32

标签: sharepoint list

我很难弄清楚如何在SharePoint列表中引用特定的项目列表。我在SharePoint Designer中查找了该页面,发现listitem位于自定义网页内的自定义webpart内。我正在编写一个事件接收器,需要读取用户在该列表项中输入的信息,这是一个文本框。有没有人知道执行此操作的代码或如何获取特定列表项的guid?

我很感激我能得到的任何帮助。我试过在网上寻找答案。谢谢。

2 个答案:

答案 0 :(得分:1)

使用您所阅读的信息准确编辑您的问题可能是一个好主意。但是从你到目前为止所说的话来说:

正在编辑的项目的ID已经通过SPItemEventProperties传递到事件接收器,因此无需查找。如果您需要在列表中查找其他项目(或者确实在不同的列表中查找),SharePoint Dev Wiki上的Accessing list items using the object model页面将为您提供所有选项。一个好的一般规则是使用SPQuery来获得最佳性能。

注意:SharePoint Dev Wiki上有一个pretty good page,用于演示如何编写事件接收器。它显示了如何查询和获取列表项标题。

评论后更新:

拥有SPListItem对象后,您可以通过UniqueId property找到其GUID。在我上面提供的“访问列表”维基链接中,代码示例显示了如何使用Title属性。

您需要在SharePoint中访问的每个数据都应通过对象模型提供。这是一种简化,但通常页面本身是从服务器上的模板文件呈现的,并与数据库中的数据结合以显示给用户。因此,以编程方式或通过其来源编辑页面不起作用。

如果我做出了不正确的假设,但你对SharePoint开发听起来相当新,那就道歉了。我强烈建议您至少阅读Inside Windows SharePoint Services 3.0的前几章,因为SharePoint的内部工作对于深入了解并且本书应该有很多帮助非常重要。其中还有一部分事件接收器。

答案 1 :(得分:0)

您是否查看了SharePoint.ListsService Webservice?

string url = "WSS Site URL";
SharePoint.ListsService.Lists lists = SharePoint.ListsService.Lists(url);
XmlNode list = lists.GetList("ListName");
XmlNode xlists = lists.GetListCollection();
相关问题