ページ全体をリロードせずに、ASP MVC 4 の 2 つのリストボックスを更新するだけで、同じビュー内の 1 つのリストボックスから別のリストボックスにアイテムを移動するにはどうすればよいですか?
これは、いくつかの音楽ジャンルを選択し、送信ボタンを使用してそれらの音楽ジャンルを Web サービスに送信できるようにするためです。
ジャンルには、表示されるべきではない ID と、表示されるべき名前があります。
過去4時間、それを理解しようとしましたが、何も機能しないようです。
編集:移動アイテムを解決
jQueryを使用してアイテムの移動を解決しました。jquery.unobtrusive-ajax.jsへの参照を追加し、いくつかのメソッドをビューに追加しました。最終的なビューは次のようになります。
SelectGenre.cshtml
@model SelectGenreModel
<div id="genreDiv">
@Html.ListBoxFor(model => model.AvailableGenres, new MultiSelectList(Model.AvailableGenres, "Id", "Name"), new { size = "10" })
<input id="btnAddAll" type="button" value=" >> " onclick="addallItems();" />
<input id="btnAdd" type="button" value=" > " onclick="addItem();" />
<input id="btnRemove" type="button" value=" < " onclick="removeItem();" />
<input id="btnRemoveAll"type="button" value=" << " onclick="removeallItems();" />
@Html.ListBoxFor(model => model.ChosenGenres, new MultiSelectList(Model.ChosenGenres, "Id", "Name"), new { size = "10" })
</div>
<script type="text/javascript">
function addItem() {
$("#AvailableGenres option:selected").appendTo("#ChosenGenres");
$("#ChosenGenres option").attr("selected", false);
}
function addallItems() {
$("#AvailableGenres option").appendTo("#ChosenGenres");
$("#ChosenGenres option").attr("selected", false);
}
function removeItem() {
$("#ChosenGenres option:selected").appendTo("#AvailableGenres");
$("#AvailableGenres option").attr("selected", false);
}
function removeallItems() {
$("#ChosenGenres option").appendTo("#AvailableGenres");
$("#AvailableGenres option").attr("selected", false);
}
</script>
編集:新しい質問に続く
私はこの質問でより多くの情報とより具体的に尋ね ましたコントローラーMVC ASP 4のリストボックスからアイテムを取得します