SharePoint2010开发介绍(2)

SharePoint2010支持Client端的对象模型中,提供的对象主要包含在Microsoft.SharePoint.Client.dll和Microsoft.SharePoint.Client.Runtime.dll中。

在SharePoint Client端对象模型中,主要是ClientContext对象,这个对象是访问Client Object 的入口,例如:使用Client端对象模型在服务器端创建一个列表代码如下:

需要引用下面的命名空间

Using ClientCOM = Microsoft.SharePoint.Client;

Using Microsoft.SharePoint.Client;

ClientContext clientContext = new ClientContext(siteUrl);

Web webSite = clientContext.Web;

ListCreationInformation listInfo = new ListCreationInformation();

listInfo.Title = “My Links”;

listInfo.TemplateType  =(int)ListTemplateType.Links;

List newList = webSite.Lists.Add(listInfo);

clientContext.ExecuteQuery();

这里需要注意的是,提交任何操作需要调用clientContext.ExecuteQuery();

来完成,这里Client端对象模型,可以完成Server端对象模型的常用操作。

在SharePoint2010中,将Linq集成进去,并且支持的非常好,在SharePoint中称为 SPLINQ。同时相对于MOSS2007多提供一个SPRelatedField类,用来添加List之间的关联,也就是说SharePoint2010中允许设置参照完成性约束。

SharePoint2010中Content的继承层次关系如下图所示:

WebPart

  1. webpart page 是带有WebPart Zone 的ASP.NET页面,WebPart Zone相当于WebPart的占位符(PlaceHolder),添加WebPart的时候,可以选择将Webpart添加到哪个位置。
  2. 每个WebPart页面都会有一个WebPart Manager对象,这个对象是用来Track每个WebPart添加的区域,并且保存和取得每个Webpart自定义和个性的数据。

在SharePoint中不直接使用ASP.NET的WebPartManager和WebPartZone,而是使用他自己的SPWebPartManager和SPWebPartZone两个对象完成以上功能,这两个对象是继承了ASP.NET中的两个对象而生成的。

在SharePoint2010中支持两种类型的WebPart,一个是System.Web.UI.WebControls.WebParts,另一种是Microsoft.SharePoint.WebPartPages.WebParts。

  1. 创建WebPart有两种方式

(1)     可视化的Webpart编写方式

这种方式会创建一个UserControl,然后Load这个Control添加到WebPart的控件中,显示出来完成相应的功能。但是这种WebPart只能部署到Farm级别,因为生成的UserControl.ascx必须部署到SharePoint的虚拟目录”ControlTemplates”下,也就是说这个目录下的控件对当前Farm下的所有的SharePoint站点是可用的。如果需要灵活实现的话,可以将WebPart部署和UserControl分离开,可以创建站点级别的WebPart,但是在WebPart中引用“ControlTemplates”下的控件,这样就可以不受部署限制了。

(2)     纯代码WebPart

这种也是比较常用的一种方式,其实就是编写一个WebControl在Server端运行,这个控件中的显示,完成依靠后台的代码来实现输出和布局。

原文地址:https://www.cnblogs.com/liubinurl/p/2471626.html