1

MVC ビュー内で、別のコントローラーから部分ビューにアクセスしたいと思います。当面の問題を説明する前に、ソリューションのどこにすべてがあるかを知っておく必要があります。

Areas      
   MyArea    
        Views
         Cont1
           PartialPages
           ViewImIn
         Cont2
            PartialPages
               ViewICall

ここで、ViewImIn.cshtml で ViewIcall.cshtml を次のように呼び出します。

@Html.Partial("~/Views/Cont2/PartialPages/ViewICall.cshtml", Model)

しかし、「部分ビューが見つからないか、ビュー エンジンが検索場所をサポートしていません...」というエラーが表示され続けます。

「../Cont2/PartialPages/ViewICall」とそのバリエーションも試しました。

4

3 に答える 3

2

このように呼び出してみてください

 @{Html.RenderPartial("ViewICall");}
于 2012-10-11T19:15:00.650 に答える
0

Cont2 の下に PartialPages フォルダーを配置する代わりに、Views のすぐ下に Shared フォルダーを配置する必要があります。次に、次の方法で直接見つけることができるはずです。

@{Html.RenderPartial("ViewICall", Model);}
于 2012-10-11T19:39:27.533 に答える
0

RenderAction を使用することもできますが、これは探しているものである場合とそうでない場合があります。ViewICall のモデルが異なる場合、またはモデル/ロジックを分離したい場合。次に、Controller メソッドを呼び出して結果をレンダリングできるようにする RenderAction を使用できます。レンダリングしようとしている部分ビューが現在のビューと同じモデルを使用している場合は、RenderPartial を使用します。

  • これは、Html.RenderAction と Html.Action に関する Phil Haack の投稿です
  • これは、 RenderActionを使用する場合と RenderPartial を使用する場合についての投稿です。
于 2012-10-15T14:40:28.613 に答える