ビューがあります。上部にドロップダウンリストがあり、基本的にユーザーは2つのオプションのいずれかを選択できます。この選択に基づいて、このページにコンテンツを表示する必要があります。
さて、正しい方法は何でしょうか。2つの部分的なビューを作成し、それらを別々のdivに配置し、選択に基づいて、そのうちの1つを表示する必要があります。
または、2つのdivがあり、その中にchtmlマークアップがあり、ユーザーの選択に基づいてそのうちの1つが表示されるようにします。
ビューがあります。上部にドロップダウンリストがあり、基本的にユーザーは2つのオプションのいずれかを選択できます。この選択に基づいて、このページにコンテンツを表示する必要があります。
さて、正しい方法は何でしょうか。2つの部分的なビューを作成し、それらを別々のdivに配置し、選択に基づいて、そのうちの1つを表示する必要があります。
または、2つのdivがあり、その中にchtmlマークアップがあり、ユーザーの選択に基づいてそのうちの1つが表示されるようにします。
複数のビューで必要とされない場合、または ajax 呼び出しによって読み込まれる場合、部分ビューを作成する理由はわかりません。単純に 2 つの div を使用します。
部分ビューを使用する場合は、ajax を使用して、コンテンツを含む 1 つの div に読み込むことができます。両方を既にページに表示して非表示にする必要はありません。
コントローラーへの jquery 呼び出しは次のようになります。
$("#form").submit(function() {
$.ajax({
type: 'POST',
url: '@Url.Action("PartialViewMethod","ControllerName")',
data: $(this).serialize(),
success: function (data) {
$("#contentDivId").html(data);
},
});
}
コントローラ メソッドは次のようになります。
public ActionResult PartialViewMethod (string PartialViewName) {
return PartialView("_" + PartialViewName);
}
これが、返したい部分ビューの名前を送信するフォームにラップされていると仮定すると、これにより、部分ビューから id の div に html がロードされcontentDivId
ます。