在阅读本文之前,我假设你已经知道如何在SharePoint中创建你自己的WebParts和正在寻找一些方法来创建该WebPart的,您可以轻松地从您的应用程序设置和获取的财产,像一个的,下面的图片:
,但如果没有,请看到这篇文章{A}首先,以避免混淆。但如果你已经知道该怎么做,然后再继续。
首先,在您的WebPart类(黄色突出显示),而不是用户控制类(绿色亮点),定义的属性:
在这个例子中,我将显示您如何定义文本,布尔,整数,日期/时间,和枚举属性:[ToolboxItemAttribute(false)]
public class Sample_Web_Part : WebPart
{
// Visual Studio might automatically update
// this path when you change the Visual Web Part project item.
private const string _ascxPath =
@" /_CONTROLTEMPLATES/Sample_Project/" +
@"Sample Web Part/Sample Web PartUserControl.ascx";
protected override void CreateChildControls()
{
Control control = Page.LoadControl(_ascxPath);
Controls.Add(control);
}
public static Boolean SampleBoolean;
[Category("Extended Settings"),
Personalizable(PersonalizationScope.Shared),
WebBrowsable(true),
WebDisplayName("Sample Boolean"),
WebDescription("Please Choose a Sample Boolean")]
public Boolean _SampleBoolean
{
get { return SampleBoolean; }
set { SampleBoolean = value; }
}
public static string SampleText;
[Category("Extended Settings"),
Personalizable(PersonalizationScope.Shared),
WebBrowsable(true),
WebDisplayName("Sample Text"),
WebDescription("Please Enter a Sample Text")]
public string _SampleText
{
get { return SampleText; }
set
{
// Sample Validation
Regex oRegEx = new Regex("[a-zA-Z]+");
if (!oRegEx.IsMatch(value))
throw new Microsoft.SharePoint.WebPartPages.
WebPartPageUserException(
"Please enter alphabeth characters only");
SampleText = value;
}
}
public static int SampleNumber;
[Category("Extended Settings"),
Personalizable(PersonalizationScope.Shared),
WebBrowsable(true),
WebDisplayName("Sample Number"),
WebDescription("Please Enter a Sample Number")]
public int _SampleNumber
{
get { return SampleNumber; }
set { SampleNumber = value; }
}
public static DateTime SampleDate;
[Category("Extended Settings"),
Personalizable(PersonalizationScope.Shared),
WebBrowsable(true),
WebDisplayName("Sample Date"),
WebDescription("Please Enter a Sample Date")]
public DateTime _SampleDate
{
get { return SampleDate; }
set { SampleDate = value; }
}
public enum CityEnum { Manila, Berlin, Auckland, Zurich };
public static CityEnum SampleDropDown;
[Category("Extended Settings"),
Personalizable(PersonalizationScope.Shared),
WebBrowsable(true),
WebDisplayName("Sample Drop Down"),
WebDescription("Please Choose a Sample DropDown")]
public CityEnum _SampleDropDown
{
get { return SampleDropDown; }
set { SampleDropDown = value; }
}
}
如果你发现,你所创建的每个属性有属性:分类??这会组你的财产,按类别。如果没有申报??代码>杂项?将用作默认。个性化??的WebPart是如何配置的,可以按用户(PersonalizationScope.User),或为大家(PersonalizationScope.Shared)。对于这个例子,我们选择了所有用户。WebBrowsable??这将隐藏或显示在工具窗格中的属性。WebDisplayName??属性的标签。WebDescription??财产的描述。
你可能也注意到,我们的代码验证。像上的SampleText属性,我们实现了,甚至在SampleNumber一个正则表达式,你可以添加你自己的。它是由它的类型验证,所以你不能保存,一旦有非法值的默认。
所以最后一步是费时,在您的WebPart的属性,你可以做很容易喜欢。
{A4}