0
我试图将它设置为一个普通的页面属性,但没有运气。EPiServer:我可以从代码隐藏设置动态属性吗?
猜我可以使用DynamicProperty类,但我真的想避免这一点,因为没有缓存问题。
建议任何人?
我试图将它设置为一个普通的页面属性,但没有运气。EPiServer:我可以从代码隐藏设置动态属性吗?
猜我可以使用DynamicProperty类,但我真的想避免这一点,因为没有缓存问题。
建议任何人?
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();
或者,你可以使用一个想法乔尔讨论here
规避动态属性