2016-11-21 6 views
0

私はUmbraco 7.5とModelsBuilderを「AppData」モードで使用していますが、私は設定文書タイプとコンテンツノードを持っていますが、もちろんビュー(テンプレート)はありません。グローバルコードファイルでUmbraco:ModelsBuilderを使用してノードのモデルオブジェクトを作成しますか?

、私はこのような設定ノードのインスタンスを作成します。

IPublishedContent Settings = new UmbracoHelper(UmbracoContext.Current).TypedContent(123); 

さて、どのように私はModelsBuilderによって作成されたモデルを初期化作成することができますか? Settings.GetPropertyValue(...)を呼び出すことはできますが、私が定義したプロパティが既に含まれているModelsBuilderによって生成された強く型付けされた "SiteSettings.generated.cs"モデルを初期化して使用したいと思います。

助けてもらえますか?

答えて

1

[OK]を、ここでの答えは次のとおりです。

すべてModelsBuilderによって生成されたモデルは、入力としてIPublishContentオブジェクトを受け取り、あなたのためのモデルオブジェクトをインスタンスコンストラクタを持っていPublishedContentModel、継承しています。だから、コードは次のようになります(SiteSettingsモデルクラスの名前です):慎重

IPublishedContent settingsNode = new UmbracoHelper(UmbracoContext.Current).TypedContent(123); 
var settingsModel = new SiteSettings(settingsNode); 
+0

トレッドUmbracoHelperの新しいインスタンスを作成するとき - それはかなりのオーバーヘッドがあり、あまりにも多くのインスタンスを作成すると、サイトのパフォーマンスを殺すことができます。 –

関連する問題