2017-06-18 46 views
1

我已經把引導程序列表框雙,在我的ASPNET核心網站所選擇的值,但我不知道如何檢索在右側列表框(所選值的倍數值)。如何檢索列表框雙用ASPNET核心C#

在我的網站我有一個語言的Dropbox,以及雙列表框,每一次都裝有diferent任務更改語言。

我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腳本,叫我apicontroller再次填補了雙列表框

$(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."); 
      } 
     }); 
    }); 
}); 

我的帖子

[HttpPost] 
[ValidateAntiForgeryToken] 
public async Task<IActionResult> add(QuestViewModel model) 
{ 
    return View();//just to test 
} 

下面以我的後視圖模型具有model.QuestIds總是空。

缺什麼在這裏。

在此先感謝。

此致敬禮。

Jolynice。

回答

0

我找到了解決辦法,

我需要的視圖模型屬性更改雙列表框的名字,像這樣。

<div class="form-group"> 
    <select asp-for="QuestIds" asp-items="@Model.Quests" class="form-control dual_select" multiple="multiple" name="QuestIds"> 
    </select> 
</div> 

然後不要忘記更新JavaScript腳本。