我想像下面这样编辑一个对象。我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList。
使用 mvc 中的标准编辑 View ,我只映射了字符串和 bool 值(下面未显示)。 我在 google 上找到的许多示例都使用了 mvc 框架的早期版本,而我使用的是官方 1.0 版本。
欢迎提供任何 View 示例。
public class NewResultsState
{
public IList<User> UsersGrossList { get; set; }
public IList<User> UsersSelectedList { get; set; }
}
最佳答案
假设 User 模型有 Id 和 Name 属性:
<%= Html.ListBox("users", Model.UsersGrossList.Select(
x => new SelectListItem {
Text = x.Name,
Value = x.Id,
Selected = Model.UsersSelectedList.Any(y => y.Id == x.Id)
}
) %>
或使用 View 模型
public class ViewModel {
public Model YourModel;
public IEnumerable<SelectListItem> Users;
}
Controller :
var usersGrossList = ...
var model = ...
var viewModel = new ViewModel {
YourModel = model;
Users = usersGrossList.Select(
x => new SelectListItem {
Text = x.Name,
Value = x.Id,
Selected = model.UsersSelectedList.Any(y => y.Id == x.Id)
}
}
查看:
<%= Html.ListBox("users", Model.Users ) %>
关于c# - 如何使用 asp.net mvc 编辑多选列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/995073/