Can i add a user control to a Visual Web Part (in visual studio) in sharepoint 2010?

I have a user control which has content that i want placed on most of my visual web parts.

Has anyone got any sample code doing this?


2 Answers 2


You can follow two methods:

from msdn

  1. In Visual Studio, open or create a SharePoint project.

  2. In Solution Explorer, choose the project node.

  3. On the menu bar, choose Project, Add New Item. The Add New Item dialog box opens.

  4. In the Installed pane, expand the SharePoint node, and then choose the 2010 node.

  5. In the list of SharePoint templates, choose User Control (Farm Solution Only).

  6. In the Name box, specify a name for the user control, and then choose the Add button. Visual Studio adds several folders and files to your project.

    By default, the user control file appears in the Source view of the Visual Web Developer designer. In this view, you can edit the XML markup of the control. You can switch to Design view if you want to design the control visually by dragging controls from the Toolbox.

  7. If you want to handle events that occur in the control, add code to the code file of the user control.

This file appears in Solution Explorer under the user control file and has a .cs or .vb extension, depending on the language of the project.


in code you can do the following also taken from msdn ;) :

public class VisualWebPart1 : WebPart
    private const string _ascxPath = @"~/_CONTROLTEMPLATES/CS/VisualWebPart1/VisualWebPart1UserControl.ascx";

    public VisualWebPart1()

    protected override void CreateChildControls()
        Control control = this.Page.LoadControl(_ascxPath);

    protected override void RenderContents(HtmlTextWriter writer)


Creating Reusable Controls for Web Parts or Application Pages


I think this is the one your looking for (url above :) with the code above explained )



hope it helps :)


I add a custom message control to almost every webpart I develop.
I put a PlacerHolder control on visual webpart and on page PreRender event I add that message control to PlaceHolder

<asp:PlaceHolder ID="phMsg" runat="server"/>

Page PreRender Event

protected void Page_PreRender(object sender, EventArgs e)
    // Add messages to page

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.