2011-08-01 12 views
0

タイトルはかなり私の質問を述べています。ビュー内の別のコントローラの部分ビューを参照する方法は?

Iは、他のコントローラ(Bar)におけるコントローラのビュー(たとえば、Action1)(Foo)と別のビュー(Action2)を有します。 Action1ビューでは、Action2のビューに電話するにはHtml.PartialまたはHtml.RenderPartialを使用します。

私はAction1Html.RenderActionを使用することができますが、それは(私が思う)Barコントローラを作成し、全体のコントローラ/アクション解決のサイクルを通過します、これがされるように、私は、それを望んでいないことを認識してい効率が悪い。

私の目標は、Action2のveiwを再利用したいということです。どうすればこれを達成できますか?

答えて

1

Views \ Sharedフォルダに部分を移動することを検討してください。

その後、あなたはどこからそれをレンダリングすることができます。

例:

レイザー:

@Html.Partial("SharedView") 

ASPX:

<%: Html.Partial("SharedView") %> 

したくない場合それを行うには、できるだけ多くのマークアップをメイン部分から引き出してカスタム表示テンプレートにしてから、2つのビュー全体で再利用します。

はい、あなたの権利は@Html.Actionであり、要求パイプラインは@Html.Partialではありません。

関連する問題