如何将下面的下拉列表代码修改为多选版本?
How can I modify my dropdownlist code below to multiple selection version?
我刚开始使用 Mvc 项目,距离使用 cshtml 控制器还有点距离。作为更多细节,我无法将此下拉列表修改为多个选择,如列表框等。
VIEW:
@Html.DropDownListFor(model => model.UserId, new SelectList(ViewData["User"] as SelectList, "id", "name"), "--Select--", new { @multiple = "multiple", @data_rule_required = "true", @data_msg_required = "Please pick users...", @class = "input-xlarge" })
CONTROLLER:
var userobject = new Dictionary<int, string>();
for (int i = 0; i < perkull.Count; i++)
{
userobject.Add(perkull[i].Key, perkull[i].Value);
}
ViewData["User"] = new SelectList(userobject, "Key", "Value");
ViewBag.User = 0;
if (!string.IsNullOrEmpty(id))
{
int recordid = int.Parse(id);
var model = db.UserRights.Where(x => x.Id == recordid).SingleOrDefault();
ViewBag.User = model.UserId;
return View(model);
}
return View();
已编辑:
我已经尝试过为 listboxfor 修改此代码块,但没有成功。这是我所做的:
@Html.ListBoxFor(model => model.UserId, new MultiSelectList(ViewData["User"] as MultiSelectList, "id", "name"), new { @multiple = "multiple", @data_rule_required = "true", @data_msg_required = "Please pick users...", @class = "input-xlarge" })
尝试
@Html.ListBoxFor(model => model.UserIds, new SelectList(ViewData["User"] as SelectList, "id", "name"), new { @multiple = "multiple", @data_rule_required = "true", @data_msg_required = "Please pick users...", @class = "input-xlarge" })
记住我用的是 UserIds
即 List<UserId>
我刚开始使用 Mvc 项目,距离使用 cshtml 控制器还有点距离。作为更多细节,我无法将此下拉列表修改为多个选择,如列表框等。
VIEW:
@Html.DropDownListFor(model => model.UserId, new SelectList(ViewData["User"] as SelectList, "id", "name"), "--Select--", new { @multiple = "multiple", @data_rule_required = "true", @data_msg_required = "Please pick users...", @class = "input-xlarge" })
CONTROLLER:
var userobject = new Dictionary<int, string>();
for (int i = 0; i < perkull.Count; i++)
{
userobject.Add(perkull[i].Key, perkull[i].Value);
}
ViewData["User"] = new SelectList(userobject, "Key", "Value");
ViewBag.User = 0;
if (!string.IsNullOrEmpty(id))
{
int recordid = int.Parse(id);
var model = db.UserRights.Where(x => x.Id == recordid).SingleOrDefault();
ViewBag.User = model.UserId;
return View(model);
}
return View();
已编辑: 我已经尝试过为 listboxfor 修改此代码块,但没有成功。这是我所做的:
@Html.ListBoxFor(model => model.UserId, new MultiSelectList(ViewData["User"] as MultiSelectList, "id", "name"), new { @multiple = "multiple", @data_rule_required = "true", @data_msg_required = "Please pick users...", @class = "input-xlarge" })
尝试
@Html.ListBoxFor(model => model.UserIds, new SelectList(ViewData["User"] as SelectList, "id", "name"), new { @multiple = "multiple", @data_rule_required = "true", @data_msg_required = "Please pick users...", @class = "input-xlarge" })
记住我用的是 UserIds
即 List<UserId>