Я работаю с checkboxlist в asp.net, и я хочу сделать следующее: для выбранного пользователя получить его роли из базы данных (позволяет сказать, что роли ранее выбраны и сохранены к базе данных, и это нормально!), и теперь я просто хочу заполнить этот checkboxlist выбранными ролями (на предыдущем шаге) из базы данных.C# ASP.NET checkboxlist на странице проверка загрузки элементов из базы данных
Но, к сожалению, я не могу этого сделать по пути, я думал, что это может сработать здесь мой код:
if (!IsPostBack)
{
int playerID = Convert.ToInt32(Request.QueryString["player"]);
var player = DAPlayers.GetByIgracId(playerID);
if (player != null)
{
checkboxRoles.DataSource=DAPlayers.GetAllRoles();
checkboxRoles.DataTextField = "Name";
player.Roles =DAPlayers.GetAllRolesByPlayer(player.playerID);
for (int i = 0; i < checkboxRoles.Items.Count; i++)
{
if(player.Roles.Contains(checkboxRoles.Items[i])) //HERE I GOT THE ERROR
checkboxRoles.Items[i].Selected = true;
}
}
}
ОШИБКА НОМЕР 1:
не может конвертировать из 'System.Web.UI.WebControls.ListItem' в 'MYPROJECT.Data.Roles'
ОШИБКА НОМЕР 2:
Лучший перегруженный метод матча для ' System.Collections.Generic.List.Contains (MYPROJECT.Data.Roles)» имеет некоторые недопустимые аргументы
Мой класс Роль
`общественного частичного класс Роль { общественные роли() { this.UserRoles = новый HashSet(); }
public int RoleID { get; set; }
public string Name { get; set; }
public string Desc { get; set; }
public virtual ICollection<UserRoles> UserRoles { get; set; }
}`
Спасибо, ребята,
Ура!
сообщения редактируется в настоящее время –
@ billy_56 см редактирования в ответе, если это помогает. – Rahul
да, похоже, что это работает. Я испытаю это немного больше сейчас! Так вы можете объяснить мне немного этой строки кода: 'var roleNames = igrac.Roles.Select (r => r.Name);' –