ARTICLE

How to create custom properties for visual webpart in SharePoint 2010.

Posted by Vijai Anand Articles | SharePoint 2010 March 03, 2011
In this article we will be seeing how to create custom properties for visual webpart in SharePoint 2010.
Reader Level:

In this article we will be seeing how to create custom properties for visual webpart in SharePoint 2010.

Steps Involved:

  • Open Visual Studio 2010.
  • Create an "Empty SharePoint Project".
  • Right click on the solution and click on Add => New Item.
  • Select "Visual Web Part" template from SharePoint 2010 installed templates.
  • Entire solution looks like the following

    share1.gif
     
  • Replace CustomPropertiesVisualWP.cs file with the following code.

    using System;
    using System.ComponentModel;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;

    namespace CustomProperties.CustomPropertiesVisualWP
    {
        [ToolboxItemAttribute(false)]
        public class CustomPropertiesVisualWP :WebPart
        {
            public static string _value;
            [System.Web.UI.WebControls.WebParts.WebBrowsable(true),
             System.Web.UI.WebControls.WebParts.WebDisplayName("Enter the Value"),
             System.Web.UI.WebControls.WebParts.WebDescription(""),
             System.Web.UI.WebControls.WebParts.Personalizable(
             System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared),
             System.ComponentModel.Category("anavijai Custom Properties"),|
             System.ComponentModel.DefaultValue("")]

            public string _Value
            {
                get { return _value; }
                set { _value =value; }
            }

            // Visual Studio might automatically update this path when you change the Visual Web Part project item.
            private const string _ascxPath = @"~/_CONTROLTEMPLATES/CustomProperties/CustomPropertiesVisualWP/CustomPropertiesVisualWPUserControl.ascx";

            protected override void CreateChildControls()
            {
                Control control = Page.LoadControl(_ascxPath);
                Controls.Add(control);
            }
        }
    }

  • In CustomPropertiesVisualWPUserControl.ascx I have added one label "lblResult" and button "btnClick".
  • Replace CustomPropertiesVisualWPUserControl.ascx.cs with the following code.

    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.ComponentModel;

    namespace CustomProperties.CustomPropertiesVisualWP
    {
        public partial class CustomPropertiesVisualWPUserControl : UserControl
        {

            protected void Page_Load(object sender,EventArgs e)
            {
            }

            protected void btnClick_Click(object sender,EventArgs e)
            {
                lblResult.Text = CustomPropertiesVisualWP._value;
            }
        }
    }

     

  • Build and deploy the solution.
     
  • Go to the SharePoint Site =>Site Actions =>Edit Page =>Editing Tools => Insert =>Web Part =>Categories => Custom =>Select CustomPropertiesVisualWP.
     
  • Click on Add.
     
  • The web part looks like the following with a button.

    share2.gif
     
  • Edit the webpart you could see a new custom category in the webpart properties.

    share3.gif

     
  • Enter the value and click on Ok.

    share4.gif
     
  • In the CustomPropertiesWP click on the button.

    share5.gif

 

Login to add your contents and source code to this article
comments
COMMENT USING
PREMIUM SPONSORS
DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and add new content to existing PDF documents from within your applications.
Join a Chapter
SPONSORED BY
  • PDF reports have never been easier to create. With our included WYSIWYG Designer, you can layout your reports, set up your data source and let DynamicPDF ReportWriter do the rest.
Get Career Advice from Experts