SharePoint Client Object Creation
Published: May 2010
This topic describes creating a SharePoint 2010 client object.
Available in SharePoint Online
If a client object can be created, such as a List object (JavaScript: List), its corresponding client object collection, such as ListCollection (JavaScript: ListCollection), has an Add method that accepts a ClientObjectCreationInformation object, for example, ListCreationInformation (JavaScript: ListCreationInformation), which contains all the information required to create the new object.
The following example uses WebCreationInformation (JavaScript: WebCreationInformation) with the Add(WebCreationInformation) method (JavaScript: add(parameters)) to create a child Web site under a specified Web site .
Dim clientContext As New ClientContext("http://MyServer/sites/MySiteCollection/MyWebSite") Dim collWeb As WebCollection = clientContext.Web.Webs Dim webCreationInfo As New WebCreationInformation() webCreationInfo.Title = "My New Web Site" webCreationInfo.Description = "Description of new Web site..." webCreationInfo.Language = 1033 webCreationInfo.Url = "MyNewWebSite" webCreationInfo.UseSamePermissionsAsParentSite = True webCreationInfo.WebTemplate = "STS#0" Dim oNewWebsite As Web = collWeb.Add(webCreationInfo) clientContext.ExecuteQuery()
In the previous example, the Add(WebCreationInformation) method (JavaScript: add(parameters)) creates a Web site immediately in the client object collection, without waiting for subsequent collection data retrieval or for a call to ExecuteQuery or ExecuteQueryAsync(ClientRequestSucceededEventHandler, ClientRequestFailedEventHandler) (JavaScript: executeQueryAsync(succeededCallback, failedCallback)).
You can use a ClientObjectCreationInformation object to create numerous objects. Creating a navigation node, for example, also involves using a ClientObjectCreationInformation object. The following example defines a navigation node by means of a NavigationNodeCreationInformation object (JavaScript: NavigationNodeCreationInformation), and uses this object to add a link within the Quick Launch area of the specified Web site. The example adds a link to a list on another Web site as the second child node under the top-level Lists node.
Dim clientContext As New ClientContext("http://MyServer/sites/MySiteCollection/MyWebSite") Dim collNavNode As NavigationNodeCollection = clientContext.Web.Navigation.QuickLaunch clientContext.Load(collNavNode) clientContext.ExecuteQuery() Dim collChildNavNode As NavigationNodeCollection = collNavNode(1).Children clientContext.Load(collChildNavNode) clientContext.ExecuteQuery() Dim navNodeCreationInfo As New NavigationNodeCreationInformation() navNodeCreationInfo.PreviousNode = collChildNavNode(0) navNodeCreationInfo.Title = "My Navigation Node" navNodeCreationInfo.Url = "http://MyServer/sites/MySiteCollection/MyTargetListWebSite/Lists/MyTargetList/AllItems.aspx" collChildNavNode.Add(navNodeCreationInfo) clientContext.ExecuteQuery()
The previous example creates a link to another Web site within a site collection. To create an external link to a location outside the site collection, set the IsExternal property (JavaScript: IsExternal) of the NavigationNodeCreationInformation object (JavaScript: NavigationNodeCreationInformation) to true before you call the Add(NavigationNodeCreationInformation) method (JavaScript: add(parameters)).
For information about creating client objects in the context of a Silverlight application, see Using the Silverlight Object Model.