In this article I am going to explain how to create Visual WebPart by using Visual Studio 2010 and deploy it in the SharePoint 2010.
Steps to create and deploy a Visual WebPart:
- Start Visual Studio 2010, click File Ă New Ă Project.
- Navigate to the Visual C# node in the Installed Templates section, click SharePoint, and then click 2010.
- Select the Visual Web Part project template and provide a name (such as, SampleWebPart), a location for your project, and then click OK.
In the SharePoint Customization Wizard, select the site to use (such as http://localhost:portno/). Also select the Deploy as a farm solution option and then click Finish.
After the project is created, Solution Explorer contains the default Visual Web Part named VisualWebPart1. Also see in Solution Explorer the presence of the Features and Package nodes.
A feature organizes your application in a way that SharePoint Foundation understands. Features can be deployed to SharePoint Foundation at the site or Web level. The package contains features and other assets used when you deploy solutions to SharePoint Foundation.
In Solution Explorer, expand the VisualWebPart1 node, right-click the VisualWebPart1UserControl.ascx file, and then click View Designer. This action opens a view to drag-and-drop controls from the toolbox onto the Web Part designer surface.
Select the TreeView control and in the Properties panel in the lower-right corner of the Visual Studio screen, type the name siteStructure in the ID field.
In Solution Explorer, expand the VisualWebPart1UserControl.ascx node, right-click the VisualWebPart1UserControl.ascx.cs node, and then click View Code. Next, add the following C# code:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
namespace SampleWebPart.VisualWebPart1
{
public partial class VisualWebPart1UserControl : UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
SPWeb thisWeb = null;
TreeNode node;
thisWeb= SPContext.Current.Web;
//Add the Web's title as the display text for the tree node, and add the URL
as the NavigateUri. as the NavigateUri.
node = new TreeNode(thisWeb.Title, null, null, thisWeb.Url, "_self");
//The Visual Web Part has a treeview control called siteStructure.
siteStructure.Nodes.Add(node);
//Get a reference to the current node, so child nodes can be added in the
correct position. correct position.
TreeNode parentNode = node;
//Iterate through the Lists collection of the Web.
foreach (SPList list in thisWeb.Lists)
{
if (!list.Hidden)
{
node = new TreeNode(list.Title, null, null, list.DefaultViewUrl, "_self");
parentNode.ChildNodes.Add(node);
}
}
foreach (SPWeb childWeb in thisWeb.Webs)
{
//Call our own helper function for adding each child Web to the tree.
addWebs(childWeb, parentNode);
childWeb.Dispose();
}
siteStructure.CollapseAll();
}
void addWebs(SPWeb web, TreeNode parentNode)
{
TreeNode node;
node = new TreeNode(web.Title, null, null, web.Url, "_self");
parentNode.ChildNodes.Add(node);
parentNode = node;
foreach (SPList list in web.Lists)
{
if (!list.Hidden)
{
node = new TreeNode(list.Title, null, null, list.DefaultViewUrl, "_self");
parentNode.ChildNodes.Add(node);
}
}
foreach (SPWeb childWeb in web.Webs)
{
//Call the addWebs() function from itself (i.e. recursively)
//to add all child Webs until there are no more to add.
addWebs(childWeb, parentNode);
childWeb.Dispose();
}
}
}
}
Now, you have to create a Web Parts page to contain the Web Part:
- Open the SharePoint site, click Site Actions, click View All Site Content, click Create, and select the Web Part Page option.
- In the Web Part Page screen, provide a name (MyWebPart) and layout template for the page, and then click Create. SharePoint creates and displays your Web Parts page.
On the Web Parts page, click into the Add a Web Part text in the zone where you want the Web Part displayed.
In the Categories list, click Custom. In the Web Parts box, click VisualWebPart1.
In the About the Web Part box at the top of the page, click Add. The Web Part is added to the zone that you selected as shown in the below figure:
Thanks for reading this article. I think this will help a lot while creating and deploying Visual WebPart in SharePoint 2010.
Rajendhiran Muthusamy
05-Dec-2012