- 在登录视图页面声明一个全局变量存放layui模块,方便整个页面中调用:var layer;
- 加载layui模块:layui.use(‘layer’, function () { layer = layui.layer; });
- 开始写登录按钮的点击事件:
3.1.获取表单数据:var 变量名= $(’#form表单ID[name=“数据自定义名”]’).val();
3.2.数据验证:判断数据不为undefined,null……
3.3.数据提交:
3.3.1.开启加载层:加载层一般在网络请求前打开
var 变量名= layer.load();
~ :web应用的根
/ :网站的根,转到端口
$.post("@Url.Content("~/控制器/登录验证控制器名")",
{
变量名:变量名,
变量名:变量名,
……
},
3.3.2.在网络请求的回调的最前面关闭加载层:layer.close(变量名);
3.4.刷新验证图片点击事件
function 点击事件名() {
修改验证图片 img元素的src属性切换图片 t参数的作用:为了避免浏览器缓存图片
$("#验证图片ID").prop(“src”, “@Url.Content(”~/控制器/验证码控制器名?t=")"+new Date().getTime());
}
4.新建一个验证码控制器,在控制器中生成验证码和验证图片
4.1-生成长度为5的随机字符串作为验证码
string 验证码名= ValidCodeUtils.GetRandomCode(5);
4.2-根据生成的验证码字符串生成验证图片
byte[] 验证图片名= ValidCodeUtils.CreateImage(验证码名);
4.3-将生成的验证码字符串保存到Session
Session[“验证码名”] = 验证码名;
4.4-将验证图片返回到页面
return File(验证图片名,“image/jpeg”); - 新建一个登录验证控制器名
准备返回的数据:ReturnJson 自定义名= new ReturnJson();
msg.State = false;//设置默认的状态 可以省略不写:bool类型的数据 默认值就是false
5.1-检查用户输入的验证码是否正确
5.1.1-从session中获取出保存的验证码字符串
string sessionValidCode = “”;
if (Session[“验证码名”] != null)
{
sessionValidCode = Session[“验证码名”].ToString();
}
5.1.2-验证用户输入的验证码和session中的验证码是是否相同 忽略大小写
验证码名= 验证码名== null ? “” : 验证码名.Trim();
if (sessionValidCode.Equals(验证码名, StringComparison.InvariantCultureIgnoreCase) || 验证码名=="")
{ linq 单表查询的写法
(from 自定义的表名 in Model对象.查询的表
【where 自定义的表名.字段1 关系运算符 值 【&& 自定义的表名.字段2 关系运算符 值】】
【orderby 自定义的表名.字段】
【select 自定义的表名】
【select new {[属性名1= ]自定义的表名.字段1,
[属性名2= ]自定义的表名.字段2,
[属性名3= ]自定义的表名.字段3,
…
}】
【select new 类名{ 类的属性1=自定义的表名.字段1,
类的属性2=自定义的表名.字段2,
…
}】
).Single();//查询单条数据,当没有数据或者有多条数据时会触发异常
.SingleOrDefault();//查询单条数据,当没有数据返回默认值(对象的默认值为null);当有多条数据时触发异常
.ToList();//查询多条数据并转为List
.Count();//查询有多少条数据
5.2-验证用户的数据
5.2.1-对用户输入的密码进行AES加密
string aesPassword = AESEncryptHelper.Encrypt(userPassword)
5.3-处理记住我这个功能 使用cookie实现
实例cookie:HttpCookie cookie = new HttpCookie(“自定义名”);
保存数据到cookie:cookie[“自定义名”] = 自定义名;
设置cookie的有效期(数量)天:
cookie.Expires = DateTime.Now.AddDays(数字);
返回json格式的数据:return Json(自定义名,JsonRequestBehavior.AllowGet);
登录
最新推荐文章于 2021-05-29 05:09:30 发布