0
マルチセレクションドロップダウンメニューにブートストラップ選択ピッカーを使用して、mvc5ウェブアプリケーション内のテーブル項目をフィルタリングしています。これまでのところすべてうまく動作しますが、送信後に選択したフィルタを選択したままにするのは問題です。したがって、コントローラで選択したフィルタを読み取ることはできますが、それ以降は、以前に選択された最初のフィルタのみが、送信後に選択済みとして表示されます。選択したすべてのフィルタを選択しておきたい。どのように私はこれに到達できますか?ブートストラップselectpickerマルチセレクションがサブミット後も選択を維持しない
私のコードイストここ、ViewModelには含まれています
public MultiSelectList AvailableUser_ID { get; set; }
private List<string> _selectedUserId = new List<string>();
public List<string> SelectedUserId
{
get { return _selectedUserId; }
set { _selectedUserId = value; }
}
コントローラ(ポスト):
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index([Bind(Include = "SelectedUserId,SelectedUserInteractionTypesId")] IndexUserInteractionViewModel indexUserInteractionViewModel)
{
indexUserInteractionViewModel.UserInteractionViewModels = new List<UserInteractionViewModels>();
indexUserInteractionViewModel.AvailableUser_ID = new MultiSelectList(db.AspNetUsers.ToList(), "Id", "Email", indexUserInteractionViewModel.SelectedUserId);
// Filter Function: selectedUserId contains all the Ids of the previously selected filters
foreach (string selectedUserId in indexUserInteractionViewModel.SelectedUserId)
{
if (userInteraction.AspNetUsers_Id.Equals(selectedUserId))
// ...
}
}
とビュー:
<script type="text/javascript">
$(document).ready(function() {
$('.selectpicker').selectpicker();
});
</script>
<th>@Html.DropDownListFor(Model => Model.SelectedUserId, Model.AvailableUser_ID as MultiSelectList, new { @id = "userFilter", @class = "selectpicker", @multiple = "mulitple", data_live_search = "true" })</th>
それでは、どのように私は保つことができます選択を選択しましたか?
残念ながら私はjs-knowledgeがほとんどなく、js-scriptで解決できると仮定しています。私はここでいくつかの専門家が欲しいと思っています。ありがとうございました!