我正在尝试创建一个供用户使用的注册页面。 但是,这允许用户具有相同的用户名,我不希望在其中发生。我写了一段代码,我认为这段代码可以正常工作但却失败了。
Managers manager = new Managers();
//Compares to database to find any duplicate usernames
if (manager.Username == txtUsername.Text)
{
lblUsername.Text = "Please enter a different username!";
lblUsername.Visible = true;
}
仅给出相关部分。
我想知道是否有人可以向我解释我做错了什么? Managers
是我的数据库。
编辑 - 我在foreach循环中添加了,但仍然是可接受的值。
List<Managers> manage = new List<Managers>();
Managers manager = new Managers();
foreach (Managers m in manage)
{
if (manager.Username == txtUsername.Text)
{
lblUsername.Text = "Please enter a different username!";
lblUsername.Visible = true;
}
}
http://i.imgur.com/5DF4Mj6.png在程序运行时显示错误
答案 0 :(得分:2)
做类似的事情:
var query = (from c in db.Users where c.UserName== userName select c);
if (query.Count() > 0)
{
// Message : user is exist
}
else
{
// register user
}
编辑:
使用lambda表达式
if (Manager.Users.Select(d => d).Where(d => d.UserName == UserName).ToList().Count() > 0)
{
// the Item is Exist in the list
}
else
{
Manager.Users.Add(new Users { UserName = Username, Pass= Password});
}