在多个不同页面中为同一Web部件的Sharepoint自定义属性设置不同的值

时间:2015-04-01 04:53:21

标签: sharepoint sharepoint-2010 web-parts moss

我有可视网络部分,我试图在每个页面上设置自定义属性唯一值。例如,我有两个aspx页面。 Deal.aspx和Fund.aspx。两个页面都使用相同的Web部件。当我在Deal.aspx的Web部分中设置值自定义属性时,相同的值也会反映在Fund.aspx页面Web部件中。我读到了PersonalizationScope,但它对我的场景没有帮助。以下是我创建的自定义属性。

    public static string ListName;
    [Category("Extended Settings"),
    Personalizable(PersonalizationScope.User),
    WebBrowsable(true),
    WebDisplayName("Enter List Name"),
    WebDescription("Please Enter a List Name")]

    public string _ListName
    {
        get { return ListName; }
        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");
            ListName = value;
        }
    }

1 个答案:

答案 0 :(得分:0)

问题不在SharePoint或PersonalizationScope中。它工作正常。问题出在静态属性ListName中。静态属性是"共享"在同一个类的所有实例之间。所以你的所有webparts都具有相同的价值。