問題は次のとおりです。json を返すアクション メソッドがあります。私がする必要があるのは、その json を使用して、それに基づいていくつかの html を構築することです。たとえば、車のリストを受け取ったとします。私がやりたいのは、たとえば次のようにリストを表示することです。
<div id="cars">
@foreach(var car in Model)
{
<p>car.Name</p>
}
</div>
<div id="pageLinks">
@Html.MyPageLinks(Model.PageInfo)
</div>
現在、これはビューであり、コントローラーでそのビューをレンダリングし、結果全体をjson結果として返します(このリンクを確認してください)。すべてがうまく機能しますが、大きな欠点が 1 つあります。FindPartialViewを機能させるには、たくさんのことをモックする必要があるため、アクション メソッドをテストできません (現在、これにこだわっています)。さらに悪いことに、私はビューをアクションと結びつけました。つまり、ビューを変更すると単体テストも損なわれ、これは受け入れられません。
一方、javascript を使用してすべての html を生成することは、生の javascript と jquery が大量になるため、非常に悪いアプローチのように思えます (単純化した例でも大量の js が存在することに注意してください。すべてが js になるため、MyPageLinks をテストするオプションを失います)。
私が必要/やりたいことは、jsonのみを返し(データオブジェクトのみで、htmlはありません)、ビューでjsonが返されると適用されるテンプレートのようなものを持つことです。