2009-01-29 46 views
11

我目前使用Linq to SharePoint从多个SharePoint列表中检索数据。如何以编程方式读取SharePoint列表?

这是我目前使用ASP.NET和WinForms编写我的方式来检索此数据的首选方法。

我只能用这个项目问题:

我必须手动生成SPML文件,将其添加到开发环境,在项目编译它,才把我可以用它连接到名单。

对于需要总是连接到同一个列表的项目,这是很好的

但我让用户创建新的工作空间(站点)与每个自己的列表,我想从中自动检索数据(与linq共享点相同,但不是静态)。

您可以推荐您首选的方式来访问实际SharePoint环境以外的C#WinForms和/或ASP.NET中的多个SharePoint列表和网站的数据,我可以在运行时指定新的源站点和列表?

回答

9

您有几种选择这两者都将需要你进一步研究,他们分别是:

  1. 使用SharePoint对象模型(Microsoft.SharePoint.dll的),你必须在该PC上SharePoint场。
  2. 使用可以在SiteURL/_vti_bin找到的SharePoint Web服务/您可能希望从Lists.asmx开始并从那里开始工作。

你需要进一步的研究,正如我所说的,但记住GIYF。

+2

+1谢谢你的意见。 但有一点:可以在SharePoint场外使用SharePoint对象模型 (其当前使用Linq到SharePoint的方式) – 2009-01-30 00:40:35

+1

Point#1是我杀死SharePoint的原因之一。试想一下,为了从SQL Server中检索信息,您必须*在SQL Server实例的*服务器*上开发代码。 – 2011-08-30 15:06:49

4

我真的会鼓励这个话题的每个人都来看一下bendsoft.com的ado.net驱动。开发人员可以免费使用它,并允许您使用标准的SQL语法查询共享点信息,并为您处理各种转换。

Dim conn As New SharePointConnection("Server=mysharepointserver.com;Database=sitepath;User=spuser;Password=******;") 
conn.Open() 
Dim cmd As New SharePointCommand("UPDATE Employees SET Salary = 3250.50 WHERE Name = 'Steve Watson'", conn) 
cmd.ExecuteNonQuery() 
相关问题