SettingsLink Class
Implements rendering for the Web Part Page menu (Modify Shared Page or Modify My Page).
Inheritance Hierarchy
System.Object
System.Web.UI.Control
Microsoft.SharePoint.WebPartPages.SettingsLink
Namespace: Microsoft.SharePoint.WebPartPages
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: No
Syntax
'Declaration
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class SettingsLink _
Inherits Control _
Implements IDesignTimeHtmlProvider
'Usage
Dim instance As SettingsLink
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class SettingsLink : Control,
IDesignTimeHtmlProvider
Remarks
The Web Part menu implemented by the SettingsLink class will only be displayed if the user has sufficient rights to modify the page. The menu options displayed on the menu also depend on the user's permissions.
If anonymous access is turned on, the Web Part Page menu will not be rendered until the user is authenticated. In this case, the AuthenticationButton control should be added to the page.
The menu rendered by the SettingsLink class is identical to the menu rendered in the TitleBarWebPart.
Examples
The following code example shows how to change the display of the Web Part Page menu.
Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.ComponentModel
Imports Microsoft.SharePoint.WebPartPages
Imports Microsoft.SharePoint
Imports System.Xml.Serialization
Namespace SettingsLinkExample
<XmlRoot([Namespace] := "SettingsLinkExample"),
ToolboxData("<{0}:WPRenderSettingsLink
runat=server></{0}:WPRenderSettingsLink>")> _
Public Class WPRenderSettingsLink
Inherits Microsoft.SharePoint.WebPartPages.WebPart
Private mylink1 As Microsoft.SharePoint.WebPartPages.SettingsLink
Private mylink2 As Microsoft.SharePoint.WebPartPages.SettingsLink
Private mylink3 As Microsoft.SharePoint.WebPartPages.SettingsLink
Private mylink4 As Microsoft.SharePoint.WebPartPages.SettingsLink
Public Sub New()
End Sub
Protected Overrides Sub CreateChildControls()
Dim [text] As LiteralControl
[text] = New LiteralControl("<br>No Text specified:<br>")
Me.Controls.Add([text])
mylink1 = New Microsoft.SharePoint.WebPartPages.SettingsLink()
Me.Controls.Add(mylink1)
[text] = New LiteralControl("<br>")
Me.Controls.Add([text])
[text] = New LiteralControl("<hr><br>Text specified and
font:<br><FONT face=Verdana size=6>")
Me.Controls.Add([text])
mylink2 = New Microsoft.SharePoint.WebPartPages.SettingsLink("LinkText")
Me.Controls.Add(mylink2)
[text] = New LiteralControl("</font><br>")
Me.Controls.Add([text])
[text] = New LiteralControl("<hr><br>Text specified no font:<br>")
Me.Controls.Add([text])
mylink3 = New Microsoft.SharePoint.WebPartPages.SettingsLink("LinkText")
Me.Controls.Add(mylink3)
[text] = New LiteralControl("<br>")
Me.Controls.Add([text])
[text] = New LiteralControl("<hr><br>Text specified splink
added:<br><table><tr><td align=""right"" valign=""bottom""
class=""ms-SPLink"" style=""padding:5px"">")
Me.Controls.Add([text])
mylink4 = New Microsoft.SharePoint.WebPartPages.SettingsLink("LinkText")
Me.Controls.Add(mylink4)
[text] = New LiteralControl("</td></tr></table>")
Me.Controls.Add([text])
End Sub
' Render the WebPart
Protected Overrides Sub RenderWebPart(output As HtmlTextWriter)
Me.EnsureChildControls()
Me.RenderChildren(output)
End Sub
End Class
End Namespace
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using Microsoft.SharePoint.WebPartPages;
using Microsoft.SharePoint;
using System.Xml.Serialization;
namespace SettingsLinkExample
{
[XmlRoot(Namespace="SettingsLinkExample")]
[ToolboxData("<{0}:WPRenderSettingsLink
runat=server></{0}:WPRenderSettingsLink>")]
public class WPRenderSettingsLink :
Microsoft.SharePoint.WebPartPages.WebPart
{
private Microsoft.SharePoint.WebPartPages.SettingsLink mylink1;
private Microsoft.SharePoint.WebPartPages.SettingsLink mylink2;
private Microsoft.SharePoint.WebPartPages.SettingsLink mylink3;
private Microsoft.SharePoint.WebPartPages.SettingsLink mylink4;
public WPRenderSettingsLink()
{
}
protected override void CreateChildControls()
{
LiteralControl text;
text = new LiteralControl("<br>No Text specified:<br>");
this.Controls.Add(text);
mylink1 = new Microsoft.SharePoint.WebPartPages.SettingsLink();
this.Controls.Add(mylink1);
text = new LiteralControl("<br>");
this.Controls.Add(text);
text = new LiteralControl("<hr><br>Text specified and
font:<br><FONT face=Verdana size=6>");
this.Controls.Add(text);
mylink2 = new Microsoft.SharePoint.WebPartPages.SettingsLink("LinkText");
this.Controls.Add(mylink2);
text = new LiteralControl("</font><br>");
this.Controls.Add(text);
text = new LiteralControl("<hr><br>Text specified no font:<br>");
this.Controls.Add(text);
mylink3 = new Microsoft.SharePoint.WebPartPages.SettingsLink("LinkText");
this.Controls.Add(mylink3);
text = new LiteralControl("<br>");
this.Controls.Add(text);
text = new LiteralControl("<hr><br>Text specified splink
added:<br><table><tr><td align=\"right\"
valign=\"bottom\" class=\"ms-SPLink\"
style=\"padding:5px\">");
this.Controls.Add(text);
mylink4 = new Microsoft.SharePoint.WebPartPages.SettingsLink("LinkText");
this.Controls.Add(mylink4);
text = new LiteralControl("</td></tr></table>");
this.Controls.Add(text);
}
// Render the WebPart
protected override void RenderWebPart(HtmlTextWriter output)
{
this.EnsureChildControls();
this.RenderChildren(output);
}
}
}
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.