返回首页


在阅读本文之前,我假设你已经知道如何在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}

回答

评论会员:fmsalmeida 时间:2012/01/27
非常好! 5
评论会员:sT0Ps 时间:2012/01/27
感谢你这篇大文章! 5
评论会员:阿伦Navasartian 时间:2012/01/27
这样一个很好的文章,这样一个很好的架构,共享
THX
评论会员:CIDev 时间:2012/01/27
一个有趣和有用的的文章
仅仅因为代码的工作,它并不意味着它是良好的代码
评论会员:。gseagull 时间:2012/01/27
感谢你分享这篇大文章
评论会员:SteveSM2 时间:2012/01/27
优秀文章。在您的研究,除了微软统一,你检查微软MEF的呢?你有一个与其他的意见?感谢
评论会员:本博特 时间:2012/01/27
我在我的旅行,但看着MEF的简要承认我从来没有把它的下一阶段。乍一看,它看起来像统一作为一个良好的机制,取代系统的小部分。不知道还有什么MEF的提供
评论会员:会员3703349 时间:2012/01/27
后一个伟大的,充满细节,全面和易于理解的!我期待着实现我的下一个机会!感谢
评论会员:会员3703349 时间:2012/01/27
哇感谢为此,我爱的详细程度 - 很全面,很容易理解!我将我的下一个机会,感谢
:一定要采用这种架构| jcnotchrist
评论会员:游客 时间:2012/01/27
!!​​一个全面(写得很好)的博客-感谢
mooreRock
评论会员:游客 时间:2012/01/27
非常好。IM使用原来这正是
。克劳斯Luedenscheidt
评论会员:游客 时间:2012/01/27
非常好的文章,好的写作风格
itiwant
评论会员:游客 时间:2012/01/27
因为IAM研究关于图书馆企业单位申请在我的Web应用程序
!Monjurul哈比卜
评论会员:尼斯 时间:2012/01/27