1.思路:获取页面数据 à 视图传递数获取到的数据到控制器
à 控制器中创建方法接收
视图传过来的数据 à 将获取到的数据跟数据库中的数据匹配,判断账号和密码是否正确à 返回数据到视图中
à 在视图中利用回调函数接收数据 à 判断是否正确登录成功 à i提示
第一步:给登录按钮一个点击事件,当点击按钮时传递数据到控制器中的对应方法里,同时也在这里使用了回调函数
$("#btnSubmit").click(function () {
var formDate = $("#fmLogin").serializeArray();//serializeArray() 方法通过序列化表单值来创建对象数组(名称和值)。返回 JSON 数据结构数据。此方法返回的是 JSON 对象而非 JSON 字符串
$.post("/Main/UserLogin", formDate, function (data) {
//处理返回的数据,根据不同的返回内容做出不同的操作和提示
if (data == “success”) {
//登录成功,跳转到主页面
//使用replace不会出现后退按钮
window.location.replace("/Main/Main");
}
else {
//引用第三方对话框。
layer.alert(data, { icon:
0, title: ‘提示’ });//0警告;1成功;2失败;3问号;4锁;5难过表情;6微笑表情
}
})
});
第二步:在控制器中创建方法去接收数据,同时也将视图传过来的数据跟数据库的数据做了对比,判断数据是否匹配
public ActionResult UserLogin(PW_User pwUser)
{
string strMsg = “fail”;//定义一个记录状态的变量
// 获取页面传递过来的数据
string strUserName = pwUser.UserName;//用户名/手机号
string strPassword = pwUser.EncryptPassword;//密码
string strrememberMe = Request[“rememberMe”];//记住密码
if (strUserName != “” && strPassword != “”)
{
try
{
//判断账号是否存在
PW_User dbUser = (from tbUser in myModel.PW_User
where tbUser.UserName ==
strUserName
select tbUser).Single();
//对页面传递过来的密码进行加密
string Password = AESEncryptHelper.Encrypt(strPassword);
if(dbUser.EncryptPassword== Password)//判断密码是否正确
{
strMsg = “success”;
}
else
{
strMsg = “密码错误!”;
}
}
catch (Exception)
{
strMsg = “当前输入的账号不存在!”;
}
}
else{
strMsg = “数据输入不完整!”;
}
return Json(strMsg, JsonRequestBehavior.AllowGet);
}