SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
i have accepted answers by ticking the green tick. is this ok now? – user1786107 Nov 9 '12 at 10:40
up vote 1 down vote accepted

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 :)

share|improve this answer

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
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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