如何将选定值设置为列表框
How to set selected values to ListBox
我用调试器检查了 MultiSelectList
值的内容已经改变。所以我看到在选择了 Value = true;
.
的值之后
但是我没有看到我的观点。 运行 时,所选值不可见。最后,我尝试了 ViewBag
、ViewData
、ListBox()
以及其他一些东西。我没看到什么?
这是我的控制器:
public ActionResult Edit(int id)
{
UserDto user = _userService.GetUserById(id);
var companiesSelectList = new MultiSelectList(_companyService.GetCompanies(), "Id", "Name", user.Companies.Select(x => x.Id.ToString()).ToArray());
TempData["CompaniesList"] = companiesSelectList;
return View(user);
}
我的观点:
<div class="col-md-10">
@Html.ListBoxFor(model => model.Companies, (MultiSelectList)TempData["CompaniesList"], new { @class = "form-control", @required = "required", @multiple = "multiple" })
</div>
我用这个来可视化
$(document).ready(function () {
$('#Companies').select2({
placeholder: 'Please Select Company',
maximumSelectionSize: 15,
width: 400,
});
});
我朋友修好了。
我在 companiesSelectList 中选择了项目,但我没有设置选择的值。我需要它 JQuery 那样。
第一:
public JsonResult UserCompany(string userId)
{
UserDto user = _userService.GetUserById(int.Parse(userId));
return Json(user.Companies.Select(x => x.Id).ToList(), JsonRequestBehavior.AllowGet);
}
Json数据携带用户连接的公司我已经发送了公司ID。
此 Ajax 方法检查所选项目:
var userId = $('#Id').val();
$.ajax({
url: "/User/UserCompany",
type: 'POST',
data: { 'userId': userId },
datatype: 'json',
success: function (data) {
$('#Companies').val(data).trigger("change");
}
});
感谢我的工作朋友和看过我问题的人。
c 你另一个问题:)
我用调试器检查了 MultiSelectList
值的内容已经改变。所以我看到在选择了 Value = true;
.
但是我没有看到我的观点。 运行 时,所选值不可见。最后,我尝试了 ViewBag
、ViewData
、ListBox()
以及其他一些东西。我没看到什么?
这是我的控制器:
public ActionResult Edit(int id)
{
UserDto user = _userService.GetUserById(id);
var companiesSelectList = new MultiSelectList(_companyService.GetCompanies(), "Id", "Name", user.Companies.Select(x => x.Id.ToString()).ToArray());
TempData["CompaniesList"] = companiesSelectList;
return View(user);
}
我的观点:
<div class="col-md-10">
@Html.ListBoxFor(model => model.Companies, (MultiSelectList)TempData["CompaniesList"], new { @class = "form-control", @required = "required", @multiple = "multiple" })
</div>
我用这个来可视化
$(document).ready(function () {
$('#Companies').select2({
placeholder: 'Please Select Company',
maximumSelectionSize: 15,
width: 400,
});
});
我朋友修好了。
我在 companiesSelectList 中选择了项目,但我没有设置选择的值。我需要它 JQuery 那样。 第一:
public JsonResult UserCompany(string userId)
{
UserDto user = _userService.GetUserById(int.Parse(userId));
return Json(user.Companies.Select(x => x.Id).ToList(), JsonRequestBehavior.AllowGet);
}
Json数据携带用户连接的公司我已经发送了公司ID。
此 Ajax 方法检查所选项目:
var userId = $('#Id').val();
$.ajax({
url: "/User/UserCompany",
type: 'POST',
data: { 'userId': userId },
datatype: 'json',
success: function (data) {
$('#Companies').val(data).trigger("change");
}
});
感谢我的工作朋友和看过我问题的人。 c 你另一个问题:)