【发布时间】:2016-01-18 17:34:58
【问题描述】:
我有一个列表框在视图中。
此列表框使用模板
列表框
<div id="UsersLoad" style="width: 50%">
@Html.EditorFor(i => i.Users, "UsersForEdit")
</div>
模板 UserForEdit(部分代码)
@model string[]
@{
if (this.Model != null && this.Model.Length > 0)
{
foreach(var item in this.Model)
{
listValues.Add(new SelectListItem { Selected = true, Value = item, Text = item });
}
}
else
{
listValues = new List<SelectListItem>();
}
}
<div class="field-@size @css">
<h3>@Html.LabelFor(model => model):</h3>
@Html.ListBoxFor(model => model, listValues, new { id = id })
</div>
在另一个视图中,div“用户”被调用。
function LoadUsersCheckBox() {
$("#UsersLoad").load('@Url.Action("LoadUsers", "User")' + '?idUser=' + idUser);
}
加载用户控制器
public JsonResult LoadUsers(int? idUser)
{
var users = Service.GetSystemUsers(idUser);
var model = users.Select(x => new
{
Value = x,
Description = x
});
return this.Json(model, JsonRequestBehavior.AllowGet);
}
控制器方法返回我想要的。
但它不是选择列表框中的项目,而是仅用找到的用户的文本覆盖列表框。
如何在LoadUsersCheckBox函数上标记列表框中的项目?
对不起我的英语不好
【问题讨论】:
标签: javascript c# jquery asp.net-mvc-4 listbox