DropDownList 変更イベントで AJAX を使用して、ページの部分ビューを動的に変更する方法はありますか?
私のメイン ページには、DropDownList (DropDownListFor)と、「アイテム」のリストのみを含む部分ビューがあります。この部分ビューに表示されるアイテムは、DropDownList で選択されたアイテムに依存します。DropDownList 項目と部分ビューの項目の間には、1 対多の関係があります。そのため、ユーザーが DropDownList の値を変更すると、部分ビューのコンテンツが動的に変更され、DropDownList で選択された項目が反映されます。
ここに私のドロップダウンリストがあります:
<div data-role="fieldcontain">
Choose Capsule:<br />
@Html.DropDownListFor(x => x.CapsuleFK, new SelectList(Model.Capsules, "pk", "name", "pk"), new { id = "ddlCapsules" })
<br />
</div>
同じページにある私の部分ビュー宣言は次のとおりです。
<div data-role="fieldcontain">
@Html.Partial("_FillerPartial", Model.Fillers)
</div>
私は Ajax にはあまり詳しくありませんが、他の例を見ると、私の Ajax には次のようなものがあります。
$(document).ready(function () {
$('#ddlCapsules').change(function () {
// make ajax call to modify the filler list partial view
var selection = $('#ddlCapsules').val();
var dataToSend = { cappk: selection };
$.ajax({
url: 'Process/GetFillersByCapsule',
data: { cappk: dataToSend },
success: function (data) {
alert("server returned: " + data);
}
});
});
});
そして最後に、これが何が起こっているかのスクリーンショットです。「Choose Capsule」ドロップダウン リストを変更して、Filler リストを動的に更新します。