我有可视网络部分,我试图在每个页面上设置自定义属性唯一值。例如,我有两个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;
}
}
答案 0 :(得分:0)
问题不在SharePoint或PersonalizationScope中。它工作正常。问题出在静态属性ListName中。静态属性是"共享"在同一个类的所有实例之间。所以你的所有webparts都具有相同的价值。