繁体   English   中英

从Sharepoint页面上的列表中获取字段

[英]Getting fields from a list on Sharepoint page

我是Sharepoint的新手,Sharepoint网站上有一个aspx页面,其中显示了字段列表,包括名字,姓氏等。我在Visual Studio中有一个控制台应用程序,我正在使用测试一个Web服务与另一个Web服务之间的通信和数据传输能力; 即Sharepoint和另一个Web服务。 我的目标是用来自其他Web服务的数据填充Sharepoint网站上列表中的各个字段。 我正在使用对Sharepoint服务器上的Lists Web服务的Web引用,以尝试访问Sharepoint网站上此特定列表中的字段。 我有以下代码:

''Name of my web reference to Lists Web Service is "sharepoint"
        Dim sharepointList As New sharepoint.Lists()
        sharepointList.Credentials = System.Net.CredentialCache.DefaultCredentials

        Dim testLists As XmlNode = sharepointList.GetListCollection
        Dim xmlText As String = testLists.InnerXml
        Dim xmlElement As XmlAttributeCollection = testLists.Attributes

我一直在尝试查找此特定列表的位置。 我承认,如上面的代码所示,我不确定应该去哪里。 我一直在使用调试器来分析上述每个变量,以尝试查找此特定列表在XML中的定义位置。 任何帮助或见解表示赞赏。

这是Sharepoint页面的快照,其中包含我要搜索的列表:

替代文字

更新:

我决定使用GetList()函数,并将名称“ New Hires”传递给它。 最后,它抓住了上面的列表。 现在,我只是想看看是否可以访问上图所示的字段,分析xml似乎只是显示名称,实际的fieldID是一些字母数字字符串,即Display Name =“ Business Phone”具有字段ID =“ {fd630629-c165-4513-b43c-fdb16b86a14d}”。 我想知道是否有一种通过显示名称搜索字段的方法。

这是两个方面的方法。

首先,您需要从列表所在的特定网站的上下文访问SharePoint服务。例如,如果列表的URL是:

http:// sharepoint / foo / bar / baz / Lists / MyList

您可以从以下网址访问列表Web服务: http://sharepoint/foo/bar/baz/_vti_bin/lists.asmx

现在,您在正确的网站集中。 剩下的步骤将是在调用List方法之一时通过名称或GUID指定列表。 例如,如果您正在调用UpdateListItems方法(听起来像是),则可以使用:

sharepoint.UpdateListItems( "{B1DC8A9C-2316-41AD-875B-01C9D4BD19F8}", myUpdateXml );

要么

sharepoint.UpdateListItems( "MyList", myUpdateXml );

显然,列表名称将与您在列表的URL中看到的实际列表名称相对应。 可以通过以下方式找到GUID:在SharePoint中查看列表,然后导航到“设置”>“列表设置”,然后从URL中获取它(查找“ List querystring”参数)。 它将被编码,但是您可以使用URL Decoder / Encoder之类的实用程序将其解码为适当的GUID。 在将GUID作为参数发送时,请务必记住使用{}括号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM