jquery multiselect在回发后不保留选择

时间:2015-03-24 09:31:21

标签: jquery asp.net-mvc bootstrap-multiselect

回发后我遇到了bootstrap multiselect控件的问题。在我看来,有一个下拉状态

@Html.DropDownListFor(model => model.SelectedReportToRoles, Model.NotificationReportToRoles, new { multiple = "multiple", @class = "select-optional multiselect", @id = "ddlReportTo" })

并且,当我从ddl中选择多个项目并将其保存到DB,然后返回到页面时,我只能看到我所选项目中的第一个项目仅在ddl中显示为已选中。如果我刷新页面,它会根据需要运行。即,ddl显示所选项目中的所有项目(如选择的3项)

我的控制器操作就像

   [HttpGet]
    public ActionResult Create()
    {
        return this.View(this.GenerateViewModel());
    }

    private static NotificationSettingsViewModel GenerateNotificationSettingsViewModel()
    {
        NotificationSettingsViewModel notificationSettingsViewModel = new NotificationSettingsViewModel();

    // Getting the roles from DB and assigning that to int array selectedReportToRoles

    notificationSettingsViewModel.NotificationReportToRoles = new MultiSelectList(roles, "RoleID", "RoleDescription", selectedReportToRoles);
    }

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create(NotificationSettingsViewModel notificationSettingsViewModel)
    {
          // Save to Db
          return this.View(this.GenerateViewModel());
    }

我使用的是jquery版本1.8.2

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我通过将更改的参数保存到TempData然后重定向到我的帖子操作中的获取操作来解决了这个问题。

return this.RedirectToAction("Create");