私はUmbraco 7でモデルビルダーを使用しています(カスタムツールを使用しています)。私はコントローラにモデルを渡す正しい方法が何であるかを知る必要があります。サーフェスコントローラにモデルビルダモデルを与える方法
例えば、私は私のベースページから派生した異なる種類のページを持っていて、それらのすべてのために生成したいコンポーネントを持っています。つまり、画像、テキスト、背景などを持つ大きなボックス
私はそれを私のページの一部として考えました。私はそのためのアクションを書いて、IPageBaseを入力パラメータとして、自分のページでそれを呼び出すことにしました。しかし、明らかに私はそれを行うことはできません。特にモデルビルダーは私のためにパラメータのないコンストラクタを生成しません。私のページごとに部分クラスを追加すると醜いでしょう。
どうすればよいですか?
お返事ありがとうございます。私は巨大なものを小さなものに変換するのが好きですが、私の見解ではありません。あなたはどうやってそれをしますか? –
SurfaceControllerでは、UmbracoContextとUmbracoHelperが注入されているので、現在のページの詳細を取得し、viewmodelクラス(新しいYourModelClass(CurrentPage))を構築できます。いくつかのマッパー(たとえば、AutoMapper)を使用して、ページモデルを対応するビューモデルにマッピングすることもできます(命名規則を使用)。 –
良いソリューションをありがとう、本当に好きでした。私はまた、あなたがマクロから来ているならば、あなたが何をするかを知りたい。 –