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