- 这是登录的form表单 ,里面有前台登录和后台登录 ,当选择前台登录时会跳转到前台页面 ,选择后台登录的话则跳转到后台页面。用户将用户名 、密码 、验证码填写完毕后 ,点击登录将用户填写的值提交到控制器中进行判断 ,判断其用户名 ,密码 ,验证码是否正确 ,如果判断正确将会按照用户选择的登录类型(前台管理/后台管理)进行页面跳转
- 下面的是点击登录后js执行的方法 ,通过id选择器获取到页面上用户名(input) 密码(input) ,验证码(input)的输入值 、然后通过表单中的name值并带有checked属性的勾选项。获取到后开始判断用户是否填写完整 ,填写完整后 ,开始使用post提交的方法将页面获取到的值以参数的形式传到控制器中 ,在function的括号内定义一个函数来获取到控制器的返回值
$("#btnSubmit").click(function(){
//获取页面上的值
var UserAccount = $("#UserAccount").val();//账号
var UserPassword = $("#UserPassword").val();//密码
var validCode = $("#validCode").val();//验证码
var rememberMe = $('#fmLogin [name="rememberMe"]:checked').val();//记住我
var customRadioInline1 = $('#fmLogin[name="customRadioInline1"]:checked').val();//登录类型
//判断是否填写数据
if(strValIsNotNull(UserAccount)&&strValIsNotNull(UserPassword)&&strValIsNotNull(validCode)) {
$.post("/BackStageManagement/EssentialData/UserLogin", { UserAccount: UserAccount, UserPassword: UserPassword, validCode: validCode, rememberMe: rememberMe, customRadioInline1: customRadioInline1 }, function (data) {
if (data == "success") {
if (document.getElementById("customRadioInline1").checked) { window.location.replace("/BackStageManagement/EssentialData/FrontDesk");
}
else if (document.getElementById("customRadioInline2").checked) { window.location.replace("/BackStageManagement/EssentialData/EssentialData)
}
} else if (data == "userTypeErro") {
layer.msg('请切换登录类型');
} else if (data == "passwordErro") {
layer.msg('请输入正确的账号或密码');
} else if (data == "validCodeErro") {
layer.msg('请输入正确的验证码');
} else if (data == "userNoExsit") {
layer.msg('用户不存在');
}
else {
layer.msg('登录失败');
}
});
}
else{
layer.msg("请填写完整");
}
});
- 下面的是js中post请求的方法
public ActionResult UserLogin(User user)
{
string strMsg = "fail";定义一个记录状态的变量
// 获取页面传递的变量
string strUserAccount = user.UserAccount; //用户名
string strUserPassword = user.UserPassword; //密码
string strValidCode = Request["validCode"]; //验证码
string strIsRember = Request["rememberMe"]; //记住否
int strIcustomRadioInline1 =Convert.ToInt32(Request["customRadioInline1"]);
//获取session中的验证码
string sessionValidCode = "";
try{
sessionValidCode = Session["validCode"].ToString();
}
catch (Exception e) {
Console.WriteLine(e);
}
//判断用户输入的验证码和session中拿到的验证码是否一致(忽略大小写)
if(sessionValidCode.Equals(strValidCode.Trim(),StringComparison.CurrentCultureIgnoreCase)) {
try{
User dbUser = (from tbUser in myModels.User
where tbUser.UserAccount == strUserAccount
select tbUser).Single();
//密码和数据库查询到的密码比较
if (strUserPassword == dbUser.UserPassword){
//验证用户登录的角色是否为前台 , 后台
var listUserType = (from tbUser in myModels.User
join tbUserRoleDetails in myModels.UserRoleDetails on tbUser.UserID equals tbUserRoleDetails.UserID
join tbUserType in myModels.UserType on tbUserRoleDetails.UserTypeID equals tbUserType.UserTypeID
where tbUser.UserID == dbUser.UserID && tbUserType.UserTypeID == strIcustomRadioInline1
select new{
tbUserType.UserTypeID,
tbUserType.UserTypes,
}).ToList();
if (listUserType.Count > 0) {
strMsg = "success";//登录成功
}
else{
strMsg = "userTypeErro";//用户类型错误
}
}
else
{
strMsg = "passwordErro";//密码错误
}
}
catch (Exception e)
{
strMsg = "userNoExsit";//没有此用户
}
}
else
{
strMsg = "validCodeErro";//验证码错误
}
return Json(strMsg, JsonRequestBehavior.AllowGet);
}