Provides the base class for creating Microsoft SharePoint Foundation Web Parts.
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: No
<SupportsAttributeMarkupAttribute(False)> _
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public MustInherit Class WebPart _
Inherits WebPart _
Implements INamingContainer, IAttributeAccessor, IConnectionDataDim instance As WebPart[SupportsAttributeMarkupAttribute(false)]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public abstract class WebPart : WebPart,
INamingContainer, IAttributeAccessor, IConnectionDataThe SharePoint Foundation Web Part infrastructure is designed and built to lie on top of the Microsoft ASP.NET Web Part infrastructure. Web Parts that inherit from WebPart are fully supported in Microsoft SharePoint Foundation (with the exception of user controls as generic Web Parts), and can be used not only in ASP.NET applications but also in SharePoint Foundation applications, whether SharePoint Foundation is involved or not. The SharePoint FoundationWebPart class is part of an infrastructure that was designed specifically for SharePoint sites, and Web Parts that inherit from this class can be used only in SharePoint sites.
When creating new Web Parts, you have the option of creating Web Parts that inherit from System.Web.UI.WebControls.WebParts.WebPart (recommended) or Microsoft.SharePoint.WebPartPages
The set of features provided exclusively by Microsoft.SharePoint.WebPartPages
Cross page connections
Connections between Web Parts that are outside of a zone
Client-side connections (Web Part Page Services Component)
Data caching infrastructure, including the ability to cache to the database
For more information, see Web Parts in SharePoint Foundation.
The following code example shows a simple Web Part that contains HtmlButton and HtmlInputText controls that allow the user to change the Web Part's Title property. For a step-by-step walkthrough of creating this Web Part, see Walkthrough: Creating a Basic SharePoint Web Part.
Imports System
Imports System.ComponentModel
Imports System.Runtime.InteropServices
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Xml.Serialization
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.WebPartPages
Imports Microsoft.SharePoint.Utilities
Imports System.Web.UI.HtmlControls
Namespace WebPartLibrary1
' This Web Part changes it's own title and implements a custom property.
<XmlRoot([Namespace] := "WebPartLibrary1")> _
Public Class SimpleWebPart
Inherits WebPart
Private Const defaultText As String = "hello"
Private [text] As String = defaultText
' Declare variables for HtmlControls user interface elements.
Private _mybutton As HtmlButton
Private _mytextbox As HtmlInputText
' Event handler for _mybutton control that sets the
' Title property to the value in _mytextbox control.
Public Sub _mybutton_click(sender As Object, e As EventArgs)
Me.Title = _mytextbox.Value
Try
Me.SaveProperties = True
Catch Else
Caption = "Error... Could not save property."
End Try
End Sub
' Override the ASP.NET Web.UI.Controls.CreateChildControls
' method to create the objects for the Web Part's controls.
Protected Overrides Sub CreateChildControls()
' Create _mytextbox control.
_mytextbox = New HtmlInputText()
_mytextbox.Value = ""
Controls.Add(_mytextbox)
' Create _mybutton control and wire its event handler.
_mybutton = New HtmlButton()
_mybutton.InnerText = "Set Web Part Title"
AddHandler _mybutton.ServerClick, AddressOf _mybutton_click
Controls.Add(_mybutton)
End Sub
<Browsable(True), Category("Miscellaneous"), DefaultValue(defaultText), WebPartStorage(Storage.Personal), FriendlyName("Text"), Description("Text Property")> _
Public Property [Text]() As String
Get
Return [text]
End Get
Set
[text] = value
End Set
End Property
Protected Overrides Sub RenderWebPart(output As HtmlTextWriter)
RenderChildren(output)
' Securely write out HTML
output.Write(("<BR>Text Property: " + SPEncode.HtmlEncode([Text])))
End Sub
End Class
End Namespace
//--------------------------------------------------------------------
// File: SimpleWebPart.cs
//
// Purpose: A sample Web Part that demonstrates how to create a basic
// Web Part.
//--------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;
using Microsoft.SharePoint.Utilities;
using System.Web.UI.HtmlControls;
namespace WebPartLibrary1
{
/// <summary>
/// This Web Part changes its title and implements a custom property.
/// </summary>
[XmlRoot(Namespace="WebPartLibrary1")]
public class SimpleWebPart : WebPart
{
private const string defaultText = "hello";
private string text=defaultText;
// Declare variables for HtmlControls user interface elements.
HtmlButton _mybutton;
HtmlInputText _mytextbox;
// Event handler for _mybutton control that sets the
// Title property to the value in _mytextbox control.
public void _mybutton_click (object sender, EventArgs e)
{
this.Title = _mytextbox.Value;
try
{
this.SaveProperties=true;
}
catch
{
Caption = "Error... Could not save property.";
}
}
// Override the ASP.NET Web.UI.Controls.CreateChildControls
// method to create the objects for the Web Part's controls.
protected override void CreateChildControls ()
{
// Create _mytextbox control.
_mytextbox = new HtmlInputText();
_mytextbox.Value="";
Controls.Add(_mytextbox);
// Create _mybutton control and wire its event handler.
_mybutton = new HtmlButton();
_mybutton.InnerText = "Set Web Part Title";
_mybutton.ServerClick += new EventHandler (_mybutton_click);
Controls.Add (_mybutton);
}
[Browsable(true),Category("Miscellaneous"),
DefaultValue(defaultText),
WebPartStorage(Storage.Personal),
FriendlyName("Text"),Description("Text Property")]
public string Text
{
get
{
return text;
}
set
{
text = value;
}
}
protected override void RenderWebPart(HtmlTextWriter output)
{
RenderChildren(output);
// Securely write out HTML
output.Write("<BR>Text Property: " + SPEncode.HtmlEncode(Text));
}
}
}
System.Web.UI
System.Web.UI.WebControls
System.Web.UI.WebControls
System.Web.UI.WebControls.WebParts
System.Web.UI.WebControls.WebParts
Microsoft.SharePoint.WebPartPages
TimeCardWebPart
WhatsNewWebPart
WhereaboutsWebPart
Microsoft.SharePoint.Meetings
Microsoft.SharePoint.Meetings
Microsoft.SharePoint.WebControls
Microsoft.SharePoint.WebControls
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages
Microsoft.SharePoint.WebPartPages