C#基于.net的登录与注册功能代码
时间: 2024-02-06 07:12:50 浏览: 23
好的,下面是基于.NET的C#登录与注册功能的代码示例:
1. 用户实体类
```csharp
public class User
{
public int Id { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string Email { get; set; }
}
```
2. 数据库操作类
```csharp
public class UserRepository
{
private string connectionString = "your connection string here";
public bool CreateUser(User user)
{
using (var connection = new SqlConnection(connectionString))
{
var command = new SqlCommand("INSERT INTO Users (UserName, Password, Email) VALUES (@UserName, @Password, @Email)", connection);
command.Parameters.AddWithValue("@UserName", user.UserName);
command.Parameters.AddWithValue("@Password", user.Password);
command.Parameters.AddWithValue("@Email", user.Email);
connection.Open();
return command.ExecuteNonQuery() > 0;
}
}
public User GetUser(string userName)
{
using (var connection = new SqlConnection(connectionString))
{
var command = new SqlCommand("SELECT * FROM Users WHERE UserName = @UserName", connection);
command.Parameters.AddWithValue("@UserName", userName);
connection.Open();
var reader = command.ExecuteReader();
if (reader.HasRows)
{
reader.Read();
return new User
{
Id = (int)reader["Id"],
UserName = reader["UserName"].ToString(),
Password = reader["Password"].ToString(),
Email = reader["Email"].ToString()
};
}
else
{
return null;
}
}
}
}
```
3. 登录控制器
```csharp
public class LoginController : Controller
{
private UserRepository userRepository = new UserRepository();
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string userName, string password)
{
var user = userRepository.GetUser(userName);
if (user != null && user.Password == password)
{
Session["UserId"] = user.Id;
Session["UserName"] = user.UserName;
return RedirectToAction("Index", "Home");
}
else
{
ViewBag.Message = "用户名或密码错误!";
return View();
}
}
}
```
4. 注册控制器
```csharp
public class RegisterController : Controller
{
private UserRepository userRepository = new UserRepository();
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(User user)
{
if (ModelState.IsValid)
{
if (userRepository.CreateUser(user))
{
return RedirectToAction("Index", "Home");
}
else
{
ViewBag.Message = "注册失败!";
return View();
}
}
else
{
ViewBag.Message = "输入有误!";
return View();
}
}
}
```
以上是基于.NET的C#登录与注册功能的代码示例,仅供参考。需要注意的是,在实际应用中,我们需要对用户输入进行严格的验证和过滤,以防止 SQL 注入等攻击。