苟您得当长距离的客户端创制WinForm、WPF威尼斯人官网、Silverlight或者Javascript操作Sharepoint数据,输入如下

Sharepoint2010安选用Linq to Sharepoint

客户端对象形式是Sharepoint2010底一个初功效,它同意开发者在长途的客户端通过编程的方来操作Sharepoint的列表。如您可以长途的客户端成立WinForm、WPF、Silverlight或者Javascript操作Sharepoint数据。

1、 在http://moss:8002创立了列表如下图所示:

下面我们成立一个WinForm应用来读取列表数据:

威尼斯人官网 1

1、 打开VS2010,File->New Project->Windows Form
Application,确保采纳的是.NET Framework3.5,为品种于个名字,如:SPReadListData.

2、 使用

2、 添加一个Lable,一个Textbox,一个Datagrid和少只按钮,如下图:

SPMetal /web:http://ContosoServer/Marketing /code:MarketingSite.cs
/language:csharp

威尼斯人官网 2

此间运用:

 

SPMetal /web:http://moss:8002/ /code:c:\Moss2010Entities.cs
/language:csharp

3、 为品种增长一个近乎:BlogInfo,并也其填补加以下代码:

3、 运行CMD,输入如下:

class BlogInfo
    {
        public string BlogTitle { get; set; }
        public string BlogContent { get; set; }
        public string BlogAuthor { get; set; }
    }

威尼斯人官网 3

4、 分别双击四只按钮,为按钮分别增长事件代码:

以C盘根目录下得近似:Moss2010Entities.cs

也出按钮的点击事件添加如下代码:

4、 打开VS2010创Webpart解决方案,如图:

Application.Exit();

威尼斯人官网 4

 

5、 C#应用程序引用Microsoft.SharePoint.Linq.dll,地点在:C:\Program
Files\Common Files\Microsoft Shared\Web Server
Extensions\14\ISAPI\Microsoft.SharePoint.Linq.dll

否获取数据按钮添加代码前,我们要事先乎项目填补加少独援,Microsoft.SharePoint.Client.dll和Microsoft.SharePoint.Client.Run提姆(Tim)e.dll,他们一般在:

威尼斯人官网 5

c:\Program Files\Common Files\Microsoft Shared\Web
Server Extensions\14\ISAPI,在代码中上加如下的using:

6、
添加刚成立的类添加刚才成立的类Moss2010Entities.cs交已经在的花色里来

using ClientOM = Microsoft.SharePoint.Client;

威尼斯人官网 6

 

7、 引用下边2个命名空间,如下图:

 

威尼斯人官网 7

有关为啥非直接用using Microsoft.SharePoint.Client;而是用using ClientOM = Microsoft.SharePoint.Client;,这是为避免和命名空间using System.Windows.Forms;的扑。

8、 编码如下:

在获取数据按钮的事件受到补充加如下代码:

威尼斯人官网 8

威尼斯人官网 9威尼斯人官网 10代码

9、 发布预览得到如下结果:

private void btnLoadData_Click(object sender, EventArgs e)
        {
            string SPUrl = txtbxSPURL.Text;
            IEnumerable<ClientOM.ListItem> myListItems;
            List<BlogInfo> myBlogs = new List<BlogInfo>();
            ClientOM.ClientContext SPContext = new ClientOM.ClientContext(SPUrl);
            ClientOM.Web mySPSite = SPContext.Web;
            ClientOM.ListCollection myListCollection = mySPSite.Lists;
            var productsList = SPContext.Web.Lists.GetByTitle(“Blog”);
            ClientOM.CamlQuery myCamlQuery = new ClientOM.CamlQuery();
            IQueryable<ClientOM.ListItem> myList = productsList.
            GetItems(myCamlQuery);
            myListItems = SPContext.LoadQuery(myList);
            SPContext.ExecuteQuery();
            var returnedListData = from prod in myListItems
                                   select prod;
            foreach (ClientOM.ListItem tempListItem in returnedListData)
            {
                BlogInfo tempBlog = new BlogInfo();
                tempBlog.BlogTitle = tempListItem.FieldValues.Values.ElementAt(1).ToString();
                tempBlog.BlogContent = tempListItem.FieldValues.Values.ElementAt(4).ToString();
                tempBlog.BlogAuthor = tempListItem.FieldValues.Values.ElementAt(5).ToString();
                myBlogs.Add(tempBlog);
            }
            dtgrdSPListData.DataSource = myBlogs;
        }

威尼斯人官网 11

 

于方的代码中,大家应用了ClientContext对象,这是Sharepoint客户对象模型(Client Object Model)的一个生死攸关的功力。当然,大家也使用了Linq来团数据。

5、 当你运行此程序时,你会面相如下的画面:

威尼斯人官网 12

色文件下充斥:http://files.cnblogs.com/Jayan/SPReadListData.zip