1
私はaspnetコアWebサイトにBootstrap Dual Listboxを組み込みましたが、右のリストボックスで選択した値を取得する方法はわかりません)。aspnetコアのデュアルリストボックスから選択した値を取得する方法C#
私のWebサイトには、言語を変更するたびに異なるクエストがロードされる言語ドロップボックスとデュアルリストボックスがあります。再びデュアルリストボックス
$(document).ready(function() {
$('[name=duallistbox_quest]').bootstrapDualListbox({
selectorMinimalHeight: 200
});
$("#idLanguage").on("change", function() {
$.ajax({
url: "/Quest/GetAllQuests",
type: "GET",
dataType: "JSON",
data: { Id: $("#idLanguage").val() }, //id of the language
traditional: true,
success: function (result) {
$('[name=duallistbox_quest]').empty();
$.each(result, function (i, item) {
$('[name=duallistbox_quest]').append($('<option value="' + item["value"] + '"> ' + item["text"] + ' </option>'));
});
$('[name=duallistbox_quest]').bootstrapDualListbox('refresh', true);
},
error: function() {
alert("Error oops.");
}
});
});
});
マイポスト
を埋めるために、私のapicontrollerを呼び出すマイViewModel.cs
public class QuestViewModel
{
public IEnumerable<string> QuestIds { get; set; }
public string Language { get; set; }
public List<SelectListItem> Quests { set; get; }
}
マイCSHTML
<form asp-action="add" role="form">
<div class="form-group">
<label>Language</label>
<select asp-for="Language" class="form-control m-b" id="idLanguage">
<option value="PT">PT</option>
<option value="FR">FR</option>
<option value="UK">UK</option>
<option value="ES">ES</option>
</select>
</div>
<div class="form-group">
<select asp-for="QuestIds" asp-items="@Model.Quests" class="form-control dual_select" multiple="multiple" name="duallistbox_quest">
</select>
</div>
</form>
Ajaxでの私のjavascriptの、
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> add(QuestViewModel model)
{
return View();//just to test
}
私の投稿では、viewmodelにはmodel.QuestIdsが常にnullがあります。
ここには何が欠けていますか?
ありがとうございます。
よろしくお願いいたします。
Jolynice。