MVC3学习:利用mvc3+ajax实现登录
用到的工具或技术: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; }
}
}
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.Users
where c.UserName == usn
&& c.PassWord == pwd
select c).Count();
if (n != )
return Content("-1");
else
return 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方法里面的参数名一致。
MVC3学习:利用mvc3+ajax实现登录的更多相关文章
- 在ASP.NET MVC3 中利用JSONP跨域登录WEB系统
在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复登陆.每次登录都需要输入用户名和密码.最近比较流行的就 ...
- MVC3学习:利用mvc3+ajax实现全选和批量删除
本例数据库操作使用EF code first; 先利用mvc自带的模板,先生成一个list视图,然后再手动添加复选框和删除按钮 <table> <tr> @*在标题行添加一个全 ...
- MVC3学习:利用mvc3+ajax实现级联下拉列表框
本例使用的是EF first code操作数据库. 一.准备数据库 级联下拉列表框,比较经典的就是省市数据表,在Model里同时创建三个类:province.cs.city.cs和dropContex ...
- 在ASP.NET MVC3 中利用Jsonp跨域访问
在ASP.NET MVC3 中利用Jsonp跨域访问 在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复 ...
- ASP.NET MVC3入门教程之ajax交互
本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=100&extra=page%3D1 随着web技术的不断发展与 ...
- MVC3.0+knockout.js+Ajax 实现简单的增删改查
MVC3.0+knockout.js+Ajax 实现简单的增删改查 自从到北京入职以来就再也没有接触MVC,很多都已经淡忘了,最近一直在看knockout.js 和webAPI,本来打算采用MVC+k ...
- 【Spring学习笔记-MVC-3.1】SpringMVC返回Json数据-方式1-扩展
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- 【Spring学习笔记-MVC-3】SpringMVC返回Json数据-方式1
<Spring学习笔记-MVC>系列文章,讲解返回json数据的文章共有3篇,分别为: [Spring学习笔记-MVC-3]SpringMVC返回Json数据-方式1:http://www ...
- 利用SQL注入漏洞登录后台的实现方法
利用SQL注入漏洞登录后台的实现方法 作者: 字体:[增加 减小] 类型:转载 时间:2012-01-12我要评论 工作需要,得好好补习下关于WEB安全方面的相关知识,故撰此文,权当总结,别无它意.读 ...
- jQuery学习笔记之Ajax用法详解
这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...
随机推荐
- Android开发者的Git&GitHub(二)
将代码托管到GitHub上 点击右上角New repository按钮来创建一个版本库 命名后选择添加一个Android项目类型的.gitignore文件,并选择开源协议(例如:Apache v2 ...
- UVa 109 - SCUD Busters(凸包计算)
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...
- rails开发demo(一)搭建环境
环境 ubuntu 14.04 为了安装rails4.2 和 ruby 2.2.2,这是目前稳定的最新版本,需要先安装rvm sudo apt-get update sudo apt-get inst ...
- LVS入门
说到大型网站的架构,就必然要谈到LVS.LVS即:Linux Virtual Server,是由国人章文嵩博士所创立的,已经被加入到了Linux 2.6的内核模块中了.官方网址: http://www ...
- Java API 快速速查宝典
Java API 快速速查宝典 作者:明日科技,陈丹丹,李银龙,王国辉 著 出版社:人民邮电出版社 出版时间:2012年5月 Java编程的最基本要素是方法.属性和事件,掌握这些要素,就掌握了解决实际 ...
- Linux运维式具之pdsh
做系统运维的时候,我们经常需要同时在多台机器上执行相同的命令,这个时候可以使用类似pssh,pdsh的并行执行shell的工具. 当然,之前在没有使用这些工具之前,如果有ssh无密码互访,我们可以自己 ...
- HFSS学习(一)计划
2015-11-28 21:05:33 基本概念 边界条件 激励源 建模 网格划分 变量设置与调谐优化 仿真结果 实例 微带线仿真 Ku波段微带线发夹线滤波器仿真 介质滤波器 腔体滤波器 微带一分四功 ...
- LeetCode题解-----Maximum Gap
题目描述: Given an unsorted array, find the maximum difference between the successive elements in its so ...
- 怎样对ZBrush中的材料进行渲染和着色
ZBrush可以实时的进行不断的渲染和着色. 对于绘制操作,ZBrush®增加了新的范围尺度,可以让你给基于像素的作品增加深度,材质,光照和复杂精密的渲染特效,真正实现了 2D 与 3D 的结合,模糊 ...
- HDU 1394 & ZOJ 1484 Minimum Inversion Number
(更新点查询区间) 这题重在想到,写代码很容易了..这题是利用线段树求逆序数,不按给定的顺序建树,而是有序地插入.比如每插入一个数,就统计之前插入的那些数里比他大的有多少个,这个数就是此时的逆序数,然 ...