用到的工具或技术:vs2010,EF code first,JQuery ajax,mvc3。

第一步:准备数据库。

利用EF code first,先写实体类,然后根据实体类自动创建数据库;或者先创建数据库,再写实体类,都可以。如果实体比较多,可以先创建数据库后,利用POCO工具来自动生成实体类。

我这里只有一个登录用户表,非常简单,自己手动在Model写实体类:

namespace ajaxDemo.Models
{public class Users{[Key]public int Uid { get; set; }public string UserName { get; set; }public string PassWord { get; set; }}
}

View Code

using System.Data; //需要添加此命名空间
using System.Data.Entity; //需要添加此命名空间namespace ajaxDemo.Models
{public class LoginContext:DbContext{public LoginContext(): base("name=login") //自定义数据库连接字符串
        {}public DbSet<Users> Users { get; set; }}
}

第二步:写控制器 

直接上代码

namespace ajax.Controllers
{public class LoginController : Controller{private LoginContext db = new LoginContext();public ActionResult login(){return View();}public ActionResult LogOn(string usn, string pwd){if (Request.IsAjaxRequest()){int n = (from c in db.Userswhere c.UserName == usn&& c.PassWord == pwdselect c).Count();if (n != 1)return Content("-1");elsereturn Content(n.ToString());}return View();}}
}

login方法是用来生成视图,LogOn方法用来判断登录是否成功。注意:要用Request.IsAjaxRequest()来判断数据的传送方式,是否是利用ajax来传送数据。

第三步:创建视图

<h2>用户登录</h2>
<script type="text/javascript">$(function () {$("#login").click(function () {var username = $("#txtName").val();var password = $("#txtPwd").val();if (username == ""){ alert("用户名不能为空"); $("#txtName").focus(); return false; }else if (password == ""){ alert("密码不能为空"); $("#txtPwd").focus(); return false; }else {$.post("LogOn", { usn: username, pwd: password },function (data) {if (data == "-1") alert("用户名或密码错误");else window.location.href = "/Home/Index";});return false;}});});
</script>
<fieldset>
<legend>登录框</legend>
@using (Html.BeginForm())
{<label>账号:</label>@Html.TextBox("txtName")<br /><label>密码:</label>@Html.Password("txtPwd")<br />
<input type="submit" id="login" value="登录" />}
</fieldset>

利用JQuery获取登录用户名和密码,然后POST给LogOn方法,注意:这里传递过去的参数名必须为usn和pwd,要和LogOn方法里面的参数名一致。

 

转载于:https://www.cnblogs.com/denny402/p/3162282.html

MVC3学习:利用mvc3+ajax实现登录相关推荐

  1. 一起谈.NET技术,在ASP.NET MVC3 中利用JSONP跨域登录WEB系统

    在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复登陆.每次登录都需要输入用户名和密码.最近比较流行的就 ...

  2. MVC3 学习总结一(未发布)

    MVC3 学习总结一(未发布) MVC:  Model,View,Control 设置View中的数据 1. 返回model,View中强类型化 Control: public ActionResul ...

  3. php ajax loading图片居中显示,PHP语言入门之PHP+ajax实现登录按钮加载loading效果

    本篇教程探讨了PHP语言入门之PHP+ajax实现登录按钮加载loading效果,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < php+ajax实现登录按钮加载loa ...

  4. 利用selenium模拟自动登录链家、贝壳、安居客等网站(超级实用,推荐收藏!)

    大家好, 今天跟大家分享一个利用selenium模拟自动登录王连某家.an聚客等网站. 文章内容超级实用,尽快在小本本上记录下来哟. 特别说明,以下代码仅用于交流学习,不做其他商业用途,切记切记! 上 ...

  5. 用ajax实现登陆验证,ajax异步登录验证实现

    如何用ajax异步登录验证实现? ajax异步无刷新登陆实现分为四步: class="fe_text jsv_required js_has_dval" title=请输入用户名 ...

  6. 学习CAS实现SSO单点登录

    学习CAS实现SSO单点登录 网上找了几篇比较详细的教程,在这记录一下: 原理: CAS实现SSO单点登录原理 教程: 1.CAS实现单点登录(SSO)经典完整教程 2.SSO之CAS单点登录实例演示 ...

  7. php 自动登录脚本_php利用cookie实现自动登录的方法

    本文实例讲述了php利用cookie实现自动登录的方法.分享给大家供大家参考.具体实现方法如下: html前端页面代码如下: enter password please specify the pas ...

  8. Cookie 学习案例之三天免登录

    Cookie 问题:HTTP 协议是没有记忆功能的,一次请求结束后,相关数据会被销毁.如果第二次的请求需要使用相同的请求数据怎么办呢?难道是让用户再次请求书写吗? 解决:使用 Cookie 技术 解释 ...

  9. jQuery学习笔记:Ajax(二)

    接上篇"jQuery学习笔记:Ajax(一)". 3.jQuery.get(url,[data],[callback],[type])通过远程 HTTP GET 请求载入信息. 这 ...

  10. ajax登录验证的原理,ajax用户登录验证-get和post提交方式,与工作原理—2018-8-15...

    ajax用户登录验证: 实例 html> Ajax实战:表单验证 用户登录 邮箱: 密码: 提交 let btn = document.getElementsByTagName('button' ...

最新文章

  1. 稀疏矩阵十字链表表示
  2. 新晋小白怎样才能做好seo优化
  3. vue导航栏跳转路由
  4. HDU.5909.Tree Cutting(树形DP FWT/点分治)
  5. 强制浏览器使用兼容模式,Web.config,httpProtocol
  6. 逃离深圳的华为,原来可以这么美:研发小姐姐第一天上班游记
  7. hbuilderx制作简单网页_简单的手机网页制作教程
  8. nodefs模块的使用demo
  9. 最长上升子序列LIS 动态规划 二分查找算法
  10. Please create pull requests instead of asking for help on Homebrew‘s GitHubError: macOS 10.13
  11. 配送中心数据迁移项目(SDC to PDC Data Migartion)
  12. 深入浅出Linux设备驱动编程--设备驱动中的异步通知
  13. WPS表格中,找出两张表(格式相同,数据部分不同)不同之处并用红色标记
  14. siv技嘉硬件Linux,Gigabyte技嘉System Information Viewer(SIV)风扇控制软件B20.0529.1版For Win10-64(2020年6月16日发布)...
  15. 2021年春季 PAT乙级
  16. eclipse修改自定义皮肤
  17. IOS开发之工欲善其事必先利其器:Xcode
  18. Linux - Assuming drive cache:write througu /dev/sda1 contains a file system with errors,check forced
  19. Android studio配置代理下载依赖
  20. Ant入门教程之常用命令

热门文章

  1. java队列_java集合入门和深入学习(详解),看这篇就差不多了
  2. windos 2008安装php5.3,windows 2008 + php 5.3.29配置
  3. ldap协议 java_java如何调用ldap协议【LdapContext】
  4. antd 判断input输入内容是否大于_Python基础语法 | 代码规范amp;判断语句amp;循环语句...
  5. 18135usm_佳能PZ-E1+EF-S 18-135mm f/3.5-5.6 IS USM镜头 小型工作室的利器
  6. mysql心得体会一百字_MYSQL CPU 100%实例详解
  7. js文件中怎么使用thymeleaf标签_007、Spring Boot集成Thymeleaf模板引擎
  8. android pdf阅读器开发_如何在 Windows 10 中将 Firefox 设置为默认 PDF 阅读器
  9. 台式计算机的硬件组成部分,台式电脑主机的硬件组成部分简介
  10. mysql获取逻辑日志_Mysql 逻辑架构图及日志系统