回发后我遇到了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
感谢任何帮助。
答案 0 :(得分:0)
我通过将更改的参数保存到TempData
然后重定向到我的帖子操作中的获取操作来解决了这个问题。
return this.RedirectToAction("Create");