0

通常のページ プロパティとして設定しようとしましたが、うまくいきませんでした。

DynamicProperty クラスを使用できると思いますが、キャッシュがないため、これは避けたいと思います。

提案は誰ですか?

4

1 に答える 1

1

私の知る限り、これを行う唯一の方法は 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();

または、ジョエルがここで議論しているアイデアを使用して、動的プロパティを回避することもできます

于 2012-01-16T10:09:21.813 に答える