2009-01-29 76 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() 
相關問題