用asp.net写一个登录验证
时间: 2023-05-27 21:02:21 浏览: 71
以下是用ASP.NET写一个简单的登录验证的示例代码:
1. 创建一个名为Login.aspx的页面,添加两个文本框和一个按钮,分别用于输入用户名、密码和登录操作。
```html
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="WebApplication1.Login" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta charset="utf-8" />
<title>Login</title>
<link href="Content/bootstrap.min.css" rel="stylesheet" />
<script src="Scripts/jquery-3.5.1.min.js"></script>
<script src="Scripts/bootstrap.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div class="container">
<h2>Login</h2>
<div class="form-group">
<label for="txtUsername">Username:</label>
<input type="text" class="form-control" id="txtUsername" runat="server" />
</div>
<div class="form-group">
<label for="txtPassword">Password:</label>
<input type="password" class="form-control" id="txtPassword" runat="server" />
</div>
<button type="submit" class="btn btn-primary">Login</button>
</div>
</form>
</body>
</html>
```
2. 在Login.aspx.cs文件中添加以下代码,在按钮的Click事件中实现登录验证功能。
```csharp
using System;
using System.Data.SqlClient;
namespace WebApplication1
{
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnLogin_Click(object sender, EventArgs e)
{
string username = txtUsername.Value.Trim();
string password = txtPassword.Value.Trim();
string connectionString = "Server=.;Database=Test;Trusted_Connection=True;";
SqlConnection connection = new SqlConnection(connectionString);
try
{
connection.Open();
string sql = string.Format("SELECT COUNT(*) FROM Users WHERE Username='{0}' AND Password='{1}'", username, password);
SqlCommand command = new SqlCommand(sql, connection);
int count = (int)command.ExecuteScalar();
if (count > 0)
{
Response.Redirect("Welcome.aspx");
}
else
{
Response.Redirect("Login.aspx");
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
connection.Close();
}
}
}
}
```
3. 在连接到数据库之前,需要先创建一个Test数据库,并在其中创建一个名为Users的表,用于存储用户名和密码。
```sql
CREATE DATABASE Test;
USE Test;
CREATE TABLE Users
(
ID INT PRIMARY KEY IDENTITY(1,1),
Username NVARCHAR(50) NOT NULL,
Password NVARCHAR(50) NOT NULL
);
INSERT INTO Users VALUES ('admin', '123456');
```
当用户点击登录按钮时,程序会根据输入的用户名和密码在数据库中查询,如果找到匹配的记录,则跳转到Welcome.aspx页面,否则提示登录失败并返回到Login.aspx页面。