我尝试将其设置为普通页面属性,但没有运气。
猜猜我可以使用DynamicProperty类,但我真的想避免这种情况,因为没有缓存问题。
建议任何人?
答案 0 :(得分:1)
AFAIK执行此操作的唯一方法是使用DynamicProperty类。如果您查看PageData对象上的索引器属性的文档,它会说:
请注意!使用此索引器将使用Pre和Post处理程序进行属性查找。我不保证返回值属于页面,但可能是动态属性,“fetch-data-from”-data等。要保证数据属于此页面,请使用GetValue和SetValue方法。
另请注意,使用此索引器设置值将仅设置实际属于页面的值,即您可以通过从索引器读取来获取有效值,但尝试为同一索引设置新值可能会产生异常因为页面中不存在该值。
您需要使用DynamicProperty类:
DynamicProperty myDynProp = DynamicProperty.Load(CurrentPage.PageLink, "PropertyName");
myDynProp.PropertyValue.Value = "new value";
myDynProp.Save();
或者,您可以使用Joel讨论here
的想法绕过动态属性