2011-08-12 5 views
3

件名によると、これは悪い考えですか?もしそうなら、なぜですか?ViewData ModelStateを子アクションにエクスポート

現在のところ、@ Html.Acionの内部からいくつかの入力フィールドをレンダリングしている場合、@ Html.Actionが関連しているとき(そのコンテキストでは)、ModelStateがクリアされるため、検証エラーはユーザーに表示されません。 )

それで、その周りに最も良いパターンは何ですか?

+0

あなたは子供の行動や部分的な意見などでそれを解決できましたか? –

+0

私はViewBagに余分なデータを追加して部分的なビューを進めました。私の意見では、Html.Actionをハックしようとする代わりに許容される妥協点 – kidoman

答えて

4

ControllerContext.ParentActionViewContextまたはViewContext.ParentActionViewContext(詳細here)で親コンテキストにアクセスできますが、より良い解決策があると思います。

すべてのビューモデルを、現在のコントローラのアクションとビューから独立したデータで汚染したくない場合は、子アクションを使用することをお勧めします(ユーザーのウェルカムラベル、ナビゲーションバーなど)。 )。

一般的な入力フィールドのような他の再利用シナリオでは、部分表示が優れたアプローチです。

しかし、あなたの現在のシナリオについてさらに詳しく説明すると、私はより具体的な解決法を提案しようとします。

関連する問題