Im пытается заполнить свой Html.Listbox всеми пользователями моей пользовательской базы данных ASP.NET.SelectList не принимает мой объект SelectListItem
Я создал ViewModel, который выглядит следующим образом:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
using System.Web.Mvc;
using System.Web.Security;
namespace SkyLearn.Areas.Users.Models
{
public class UsersViewModel
{
MembershipUserCollection membershipuserscollection { get; set; }
public List<MembershipUser> membershipuserslist { get; set; }
public List<SelectListItem> AvailableUsers { get; set; }
public UsersViewModel()
{
availableUsers = new List<SelectListItem>();
}
}
}
И в ActionResult, который выглядит следующим образом:
public ActionResult Index()
{
var users = Membership.GetAllUsers().Cast<MembershipUser>();
UsersViewModel model = new UsersViewModel();
foreach (MembershipUser user in users)
{
SelectListItem selectuser = new SelectListItem();
selectuser.Text = user.UserName;
selectuser.Value = user.UserName;
model.AvailableUsers.Add(selectuser);
}
return View(model);
}
На мой взгляд, я стараюсь, чтобы заполнить список, как это:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<SkyLearn.Areas.Users.Models.UsersViewModel>" %>
<%= Html.ListBox("AvailableUsers", Model.AvailableUsers)%>
Когда я запускаю код, я получаю следующую ошибку:
CS1579: Еогеасп оператор не может работать с переменными типа «SkyLearn.Areas.Users.Models.UsersViewModel», потому что «SkyLearn.Areas.Users.Models.UsersViewModel» не содержит публичное определение «GetEnumerator»
Правильно, что я забыл сделать конструктор. к сожалению, это просто доказало новую проблему для меня, xD im, которая начинает вырывать мои волосы на этом. CS1061: 'System.Collections.Generic.IEnumerable' не содержит определения для 'availableUsers' и никакого метода расширения 'availableUsers', принимающего первый аргумент типа 'System.Collections .Generic.IEnumerable 'можно найти (вам не хватает директивы использования или ссылки на сборку?) не уверен, что это имеет для вас какое-либо значение? –
AronChan
Хммм, где это происходит? Откуда у этого IEnmerable появилась модель вашего представления? –
Как-то кажется, что теперь мой объект ViewModel рассматривается как Перечислимый. я не могу получить доступ к любому из списков на нем из моего представления: S – AronChan