I am making a visual webpart with custom properties. Basically its a link button which Text and Url properties can be set by the user via web part properties.
All samples I have seen say that in vs 2010(SP 2010), visual studio adds automatically and ascx path variable, but its not the case in 2013. I wonder if I have to do it the same way in 2013 or if it changed?
http://onlinecoder.blogspot.be/2011/04/custom-properties-in-sharepoint-2010_7158.html
My code:
public partial class LinkButton : WebPart
{
private string _LinkText;
private Uri _Link;
[WebBrowsable(true), WebDisplayName("LinkText"), WebDescription("Text for the link"),
Personalizable(PersonalizationScope.Shared), Category("xx- xx"),
System.ComponentModel.DefaultValue("")]
public string LinkText
{
get { return _LinkText; }
set { _LinkText = value; }
}
[WebBrowsable(true), WebDisplayName("Link"), WebDescription("Link"),
Personalizable(PersonalizationScope.Shared), Category("xx- xx"),
System.ComponentModel.DefaultValue("")]
public Uri Link
{
get { return _Link; }
set { _Link = value; }
}
// Uncomment the following SecurityPermission attribute only when doing Performance Profiling on a farm solution
// using the Instrumentation method, and then remove the SecurityPermission attribute when the code is ready
// for production. Because the SecurityPermission attribute bypasses the security check for callers of
// your constructor, it's not recommended for production purposes.
// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Assert, UnmanagedCode = true)]
public LinkButton()
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
InitializeControl();
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected override void CreateChildControls()
{
LinkButton linkButton = Page.LoadControl(_ascxPath) as LinkButton;
if (linkButton != null)
{
linkButton.Title = LinkText;
linkButton.TitleUrl = Link.ToString();
Controls.Add(linkButton);
}
}
}