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

Set different value for Sharepoint custom property of same web part in multiple different pages

我有可视化 Web 部件,我正在尝试在每个页面上设置自定义 属性 唯一值。例如我有两个 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;
        }
    }

问题不在 SharePoint 或 PersonalizationScope 中。它工作正常。问题出在静态 属性 ListName 中。静态属性在相同 class 的所有实例之间是 "shared"。因此,您的所有 Web 部件都将具有相同的值。