富贵资源网 Design By www.hznty.com
MVC新闻网站建立,实现登录功能
首先在数据库中建立一张UserInfo表。
注:以下讲的这些可以用动软代码生成器直接生成,但是对于新手来说还是动手敲一下的好,了解以下实现的过程。
然后在Model中建立UserInfo的实体层。
public class UserInfo { public int Id { get; set; } public string UserName { get; set; } public string UserPwd { get; set; } public string UserMail { get; set; } public DateTime RegTime { get; set; } }
接着就在DAL层中建立UserInfo的数据库访问
//根据用户名密码查询用户 public UserInfo GetUserInfoModel(string userName, string userPwd) { string sql = "select * from T_UserInfo where UserName=@UserName and UserPwd=@UserPwd"; SqlParameter[] pms = { new SqlParameter("@UserName",SqlDbType.NVarChar,32), new SqlParameter("@UserPwd",SqlDbType.NVarChar,32) }; //给参数赋值 pms[0].Value = userName; pms[1].Value = userPwd; DataTable dt = SqlHelper.ExcuteDataTable(sql, CommandType.Text, pms); UserInfo userInfo = null; if (dt.Rows.Count>0) { userInfo = new UserInfo(); LoadEntity(dt.Rows[0],userInfo); } return userInfo; } private void LoadEntity(DataRow dataRow, UserInfo userInfo) { userInfo.Id = Convert.ToInt32(dataRow["Id"]); //判断是否为空 userInfo.UserName = dataRow["UserName"] != DBNull.Value "UserName"].ToString() : string.Empty; userInfo.UserPwd = dataRow["UserPwd"] != DBNull.Value "UserPwd"].ToString() : string.Empty; userInfo.UserMail = dataRow["UserMail"] != DBNull.Value "UserMail"].ToString() : string.Empty; userInfo.RegTime = Convert.ToDateTime(dataRow["RegTime"]); }
在BLL层中建立UserInfo的逻辑处理层UserInfoServices
DAL.UserInfoDal userInfoDal = new DAL.UserInfoDal(); public UserInfo GetUserInfoModel(string userName, string userPwd) { return userInfoDal.GetUserInfoModel(userName, userPwd); }
这些都准备完毕后就到登录页面提交表单就可以了(在提交表单之前需要判断用户名、密码、验证码是否为空,下面我做了一个简单的判断)
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>登录</title> <script src="/UploadFiles/2021-04-02/jquery-1.8.2.js">在上面的代码可以看出我是用的ajax异步提交表单到了 /Login/CheckLogin 路径下这代表 Login控制器下的CheckLogin (需要自己新建) 也就是说登录的逻辑判断处理就是在CheckLogin 里面完成的。
public ActionResult CheckLogin() { //拿到session的值 string Vcode = Session["validateCode"].ToString(); //清空session Session["validateCode"] = null; string requestCode = Request["txtVcode"].ToString(); string userName = Request["txtName"].ToString(); string userPwd = Request["txtPwd"].ToString(); if (!requestCode.Equals(Vcode,StringComparison.CurrentCultureIgnoreCase)) { return Content("no:验证码错误!!"); } BLL.UserInfoServices userInfoServices = new BLL.UserInfoServices(); UserInfo userinfo = userInfoServices.GetUserInfoModel(userName, userPwd); if (userinfo != null) { Session["userName"] = userinfo.UserName; return Content("ok:登录成功"); } else { return Content("no:用户名或者密码错误"); } }注:连接数据库的语句自己在配置文件里面配置
上面的步骤每步都正确的话,那么重新生成解决方案后,运行输入用户名密码就可以登录成功了
这里可以看到页面已经实现了跳转。只是主页还没有建立而已。下一讲就讲主页的布局。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...