2012-02-28 8 views
3

たとえば、私はレイアウトの重いWebサイト(masterpage)を持っています。 レイアウトレンダリングでは、データベースからいくつかのものを取得し、いくつかの計算を行う必要があります。asp.net mvcレイアウトロジックの最適な場所はどこですか

しかし、私はこのコードを置く必要がありますか?

  1. すべてのビュー(おそらくスルー・レンダリング・セクション)にコードを入れるのは悪い考えです。
  2. レイアウト剃刀のマークアップも。マークアップはビジュアライゼーションロジックには使用されますが、ビジネスロジックには使用されません。

答えて

4

The HaackedHtml.RenderActionあなたのシナリオに最適なように見えるヘルパー(子供の行動とも言われる)についてのブログ。それはあなたのサイトに、主なものとは別のコントローラ/モデル/ビューのライフサイクルを経る部分/ウィジェットを埋め込むことを可能にします。メインコントローラがこの横断ロジックを気にすることなく、レイアウトに共通のウィジェットを組み込むのに非常に便利です。

0

ロジックを子アクションに配置し、レイアウトで呼び出す必要があります。

+0

すべてのアクションでですか?しかし、私はこのコードを置くだけです。 – Neir0

+0

@ Neir0:いいえ。ロジックごとに1つの子アクションを作成し、レイアウト内の正しい場所で呼び出すことができます。 – SLaks