Entity Framework实现ASP.NET 登录和注册功能
一、创建Entity Framework的实体数据模型
1)
2)
3)点击“新建连接”
4)
点击“确定”后 一直点击“下一步”即可
5)选择版本
6)选择需要的表点击完成即可,会获得一个数据库实体模型的上下文对象,只要涉及到关于数据库的操作,调用数据库的上下文集合就可以了。
二、
数据库的实体数据模型创建好了,我们还需要创建一个类,这个类实现登录(查询数据库)和注册(查询数据库)功能。
public class UserServer
{
//登录
public static Users Login(string id, string pwd)
{
using (UserManagerEntities db = new UserManagerEntities())//获取数据库上下文对象
{
Users users = db.Users.FirstOrDefault(u => u.UserName == id && u.UserPwd == pwd);//查找数据库里有没有账号和密码
return users;//返回一个Users对象
}
}
//注册
public static bool add(Users users)
{
using (UserManagerEntities db = new UserManagerEntities())
{
db.Users.Add(users);
int row = db.SaveChanges();
return row > 0;
}
}
}
三、准备工作准备好了,现在开始实现功能
1)实现登录功能
protected void Button1_Click(object sender, EventArgs e)
{
string id = TextBox1.Text.Trim();//获取文本框的值
string pwd = TextBox2.Text.Trim();
if (id.Equals(string.Empty)&&pwd.Equals(string.Empty))//判断文本框是否为空
{
ClientScript.RegisterStartupScript(GetType(), "error", "alert('不能为空')", true);
}
else
{
Users users = UserServer.Login(id, pwd);//调用登录方法(UserServer类)
if (users!=null)
{
Session["shu"] = id;//用session保存登录名,主页需要登录名 ps:不能写到跳转页面的下面,如果写到的话,session将等不到数据
Response.Redirect("Index.aspx");
}
else
{
ClientScript.RegisterStartupScript(GetType(), "error", "alert('登录失败')", true);
}
}
}
2)注册功能功能
protected void Button1_Click(object sender, EventArgs e)
{
string id = TextBox1.Text.Trim();
string pwd = TextBox2.Text.Trim();
string queren = TextBox3.Text.Trim();
int age = Convert.ToInt32( TextBox4.Text.Trim());
string email = TextBox5.Text.Trim();
string img = TextBox6.Text.Trim();
if (id.Equals(string.Empty)&&pwd.Equals(string.Empty)&&queren .Equals(string.Empty)
&& age.Equals(string.Empty) && email.Equals(string.Empty) && img.Equals(string.Empty))
{
ClientScript.RegisterStartupScript(GetType(), "error", "alert('不能为空')", true);
}
else
{
if (pwd.Equals(queren))
{
Users users = new Users()
{
UserName = id,
UserPwd = pwd,
UserAge = age,
UserEmail = email,
UserImage = img
};
bool a =UserServer.add(users);//调用注册方法
if (a)
{
ClientScript.RegisterStartupScript(GetType(), "error", "alert('成功')", true);
}
else
{
ClientScript.RegisterStartupScript(GetType(), "error", "alert('失败')", true);
}
}
else
{
ClientScript.RegisterStartupScript(GetType(), "error", "alert('两次输入密码不一致')", true);
}
}
}
这样就可以实现登录和注册功能了