用所有 ASP.NET 用户填充 Html.Listbox
本文关键字:填充 Html Listbox 用户 NET ASP | 更新日期: 2023-09-27 18:31:01
我正在尝试创建一个页面,其中的列表框将包含我的所有 ASP.NET 用户。
但是,我在尝试使Html.Listbox接受用户列表时遇到了很多问题。
我试过这样做:
<%: Html.ListBox("Membershipusers", Membership.GetAllUsers())%>
以及与此类似的无数其他方法。我的控制器上还有一个方法,如下所示:
public ActionResult getAllMembershipUsers()
{
MembershipUserCollection membershipusers = new MembershipUserCollection();
membershipusers = Membership.GetAllUsers();
return View(membershipusers);
}
似乎它能够创建用户列表,但我仍然不知道如何在我的列表框中显示该列表。
希望有人能在这里帮助我。
使用视图模型怎么样?你试过这种方法吗?
public class UsersViewModel
{
public IEnumerable<string> SelectedUsers { get; set; }
public IEnumerable<SelectListItem> AvailableUsers { get; set; }
}
然后是一个控制器,它将填充此视图模型:
public ActionResult Index()
{
var users = Membership.GetAllUsers().Cast<MembershipUser>();
var model = new UsersViewModel
{
AvailableUsers = users.Select(u => new SelectListItem
{
Value = u.UserName,
Text = u.UserName
})
};
return View(model);
}
最后在视图模型的强类型视图中
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<UsersViewModel>" %>
...
<%= Html.ListBoxFor(x => x.SelectedUsers, Model.AvailableUsers) %>