【问题标题】:Problem finding Item List Id in WSS 3.0在 WSS 3.0 中查找项目列表 ID 的问题
【发布时间】:2009-08-03 15:47:32
【问题描述】:

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

如果能得到任何帮助,我将不胜感激。我试过在网上寻找答案。谢谢。

【问题讨论】:

    标签: sharepoint list


    【解决方案1】:

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

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

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

    cmets 后更新:

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

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

    抱歉,如果我做出了不正确的假设,但您对 SharePoint 开发来说还很陌生。我强烈建议您至少阅读 Inside Windows SharePoint Services 3.0 的前几章,因为 SharePoint 的内部工作原理对于很好地理解很重要,而这本书应该会有很大帮助。其中还有一部分事件接收器。

    【讨论】:

    • Brian Wilson 写了一个关于事件处理的非常好的指南,并包含一个现成的框架。事件处理程序可以很有趣,愉快的编码
    • 感谢您的快速反馈。对此,我真的非常感激。我想知道是否有一种简单的方法可以找到特定列表项的指南?我要去哪里找到这个?我可以通过页面的源代码或通过 SharePoint 页面访问它吗?此外,我尝试读取的列表项是用户尝试在列表中创建新记录时的标题值。在他们添加信息后,我想在允许将其添加为另一个标题之前检查该标题是否已经存在。我希望这可以澄清问题。
    【解决方案2】:

    您看过 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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-21
      • 2014-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多