c# - 比较文本框和预定义列表的值?
问题描述
我是编码新手。我已经预先定义了一个带有用户名和密码的字符串。我想编写逻辑来首先找到用户名,然后比较相应文本框中的密码。如果用户名和密码匹配,我想用更多代码呈现另一个文件。谢谢你。我已经根据评论编辑了代码,但仍然没有运气。当用户和密码正确时,它指向 else 语句。
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace GridView
{
public partial class practise : System.Web.UI.Page
{
public static List<User> listuser = new List<User>()
{
new User() {ID = 1, UserName = "Dhruv", Password = "hello"},
new User() {ID = 2, UserName = "Gaurav", Password = "12345"},
new User() {ID = 3, UserName = "Rahul", Password = "asdfg"},
new User() {ID = 4, UserName = "Guru", Password = "qwerty"}
};
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
listuser = new List<User>();
GRIDDATA.DataSource = listuser;
GRIDDATA.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
User data = new User();
data.UserName = TextBox1.Text;
data.Password = TextBox2.Text;
bool UserExists(string UserName, string Password)
{
return listuser.Any(a => a.UserName.Equals(UserName) && a.Password.Equals(Password));
}
if(UserExists(data.UserName, data.Password))
{
Response.Redirect("https://www.google.com");
}
else
{
Response.Redirect("https://www.wwe.com");
}
}
}
public class User
{
public int ID { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}
}
解决方案
忽略代码中一些(咳咳)更有趣的区域并阅读有关面值的问题,您想要类似的内容:
public static List<User> listuser = new List<User>(){
new User() {ID = 1, UserName = "Dhruv", Password = "hello"},
new User() {ID = 2, UserName = "Gaurav", Password = "12345"},
new User() {ID = 3, UserName = "Rahul", Password = "asdfg"},
new User() {ID = 4, UserName = "Guru", Password = "qwerty"}
};
protected bool UserExists(string userName, string password)
{
return listuser.Any(a =>
a.UserName.Equals(userName, StringComparison.CurrentCultureIgnoreCase)
&&
a.Password.Equals(password));
}
我.Equals(userName, StringComparison.CurrentCultureIgnoreCase)
用来使用户名比较不区分大小写。
如果您添加到listuser
( listuser.Add(data);
) 您确实需要了解您的代码当前不是线程安全的并且会崩溃...
推荐阅读
- python - 如何在python字符串中的索引处重复一个字符作为函数参数给出的次数?
- android - 安卓。根据原始市场国家显示不同的内容
- python - 多标签分类的混淆矩阵
- java - 使用 API 时如何处理两种不同类型的响应
- apache-kafka - 在 Kafka 中获取重复消息的可能性
- python - python求m以下n的所有倍数之和
- amazon-web-services - AWS Gov Cloud 应用程序负载均衡器使用 Cognito 验证规则
- python - Curvefit 函数 - 正弦函数问题
- javascript - 为 ChildSnapshot 使用变量 - Firebase 中的键 (JavaScript)
- html - 如何制作这样的按钮