为多个不同页面中相同 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 部件都将具有相同的值。
我有可视化 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 部件都将具有相同的值。