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; }}
}
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue获取tr内td里面所有内容_vue 项目学习

首先页面的整体内容结构以及package.json 里面的内容package.jsonrouter.js 路由功能import Vue from vue import Router from vue-router import Login from /login;Vue.use(Router) let router new Router({routes: [{path: /,redirect: {name: Login},},{path: /Login,na…

lnmp环境搭建完全手册(四)——lnmp搭建(源码安装)

首先来介绍一下Nginx.Nginx是一个高性能的 HTTP 和 反向代理 服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。Nginx不仅可以作为web服务器,也可以作为负载均衡器,之前也有文章介绍,大家可以看一下. MySQL是一款开源免费的数据软件,MySQL是一个小型关系型数据库管理系统…

ubuntu中解压rar文件遇到乱码的解决方法

如上图所示&#xff0c;在用ubuntu的时候经常会遇见rar压缩文件打开出现乱码&#xff0c;解压的时候也会出现无效的编码等错误。 解决方法是用 sudo apt-get remove rar 卸载rar 然后用 sudo apt-get instal unrar 安装unrar 然后就可以解决这个问题了。 个人理解rar是用来压缩…

锐界机器人_2019款锐界智能家居远程控制使用介绍

2019款经过场地的绕圈测试&#xff0c;传祺GA6的制动系统依旧保持良好的响应速度&#xff0c;而且制动力输出没有虚位&#xff0c;从踩上制动踏板初段就能得到明显的制动力反馈。车头重量给前脸极大的压力&#xff0c;不过在极限过弯的情况下&#xff0c;悬架依旧提供了足够的支…

zabbix监控链接

http://www.abcdocker.com/

kmeans中的k的含义_硬质合金中P、M、K、N、S、H六大字母含义详解

数控技术在线订单 | 技术 | 干货 | 社群关注可加入机械行业群&#xff01;关注P类:硬质合金中&#xff0c;P类产品的切削范围是指碳钢&#xff0c;铸钢&#xff0c;包括0.25-0.25%C淬火和调质&#xff0c;易切钢包含退火与淬火调质&#xff0c;低碳合金钢含金元素少于5%的范围&…

openerp经典收藏 对象定义详解(转载)

对象定义详解 原文地址&#xff1a;http://shine-it.net/index.php/topic,2159.0.htmlhttp://blog.sina.com.cn/s/blog_57ded94e01013xa9.html本连载准备详细解密OpenERP的对象定义&#xff0c;内容包括深入理解OpenERP的对象&#xff0c;对象详细定义、字段详细定义、对象的预…

gitlab,ldap新用户无法登陆,报错 Could not authenticate you from Ldapmain because “Undefined method `provider‘

查看/var/log/gitlab/gitlab-rails/application.log日志&#xff0c;报错如下&#xff1a; 2022-06-16T07:31:57.865Z: (LDAP) Error saving user cnwangsan,ouzmjkf,dczmjkf,dccn (123847567qq.com): ["Email is not allowed for sign-up. Please use your regular email…

gitlab集成ldap用户后,禁用原来的账户体系进行拉取代码

gitlab在集成ldao用户后&#xff0c;经过测试&#xff0c;用户可以还可以通过原来的账号体系进行项目代码的拉取&#xff0c;需要把原来的账号体系的拉取功能关闭&#xff0c;使用ldap的账号体系进行工作开展。 方法如下&#xff1a; 在管理员-设置-通用-登录限制里把 Allow…

ffmpeg 分辨率 压缩_用GPU加速FFmpeg中的超分辨率功能

1. 简要回顾首先简单复述一下FFmpeg中对深度学习的支持情况&#xff0c;如上图所示&#xff0c;FFmpeg在libavfilter中支持基于深度学习的filter&#xff0c;目前已经支持sr, derain和dnn_processing等filter&#xff0c;其中&#xff0c;dnn_processing是一个通用的filter&…

oFono学习笔记——GATChat(2):发送AT命令

摘要&#xff1a; 本文主要描述了GAtChat如何发送AT命令的全过程 1. GAtChat AT命令发送接口 在GAtChat库当中&#xff0c;根据AT命令返回结果的不同&#xff0c;GAtChat定义了四种不同的发送接口&#xff1a;一般发送接口&#xff0c;表单发送接口&#xff0c;PDU表单发送接口…

archery集成ldap无法登陆

archery配置ldap之后,浏览器提示用户名或密码错误,请重新输入,去ldap日志查看,用户已经认证成功。 archery服务报错如下: [2022-06-16 14:00:03,221][MainThread:140070598219584][task_id:django_auth_ldap][backend.py:368][WARNING]- Caught LDAPError while authenti…

mysql存储过程输入参数拆分_一文看懂mysql数据库存储过程、函数、视图、触发器、表...

概述抽空总结一下mysql的一些概念性内容&#xff0c;涉及存储过程、函数、视图、触发器等。一、查看存储过程、函数、视图、触发器、表1、存储过程select * from mysql.proc where typePROCEDURE;show procedure status; show create procedure proc_name; //存储过程定义2、函…

文本框内容改变触发事件

input 在IE中有onchange事件&#xff0c;但是这个事件所表现的效果不是我们想要的&#xff0c;它所表现的效果为&#xff1a;当input内的内容发现更改时&#xff0c;并不会触发你所指定的方法&#xff08;函数&#xff09;&#xff0c;所以一般的人不用使用这个事件&#xff0c…

oracle vm发现无效设置_Oracle数据库编译失效对象相关命令总结大全,值得收藏

概述在日常数据库维护过程中&#xff0c;我们会发现数据库中一些对象(包Package、存储过程Procedure、函数Function、视图View、同义词.....)会失效,呈现无效状态(INVALID)。有时候需要定期检查数据库中存在哪些失效对象&#xff0c;对于存在异常的对象需要重新编译&#xff0c…

WCF-001:WCF的发布

随着“云”时代的到来&#xff0c;“云”已经无处不在了。什么是“云”&#xff0c;无非就是利用互联网强大的功能建立多个服务器&#xff0c;然后再利用互联网的传输数据的特点将数据从某个服务器中读取出来或者将你的数据上传上去。当然这个服务器不是一定就是传统意义的服务…

在线编辑_水墨-在线 Markdown 编辑器

水墨-在线 Markdown 编辑器基于 Spring-boot、FreeMarker、layui、Vditor 构建的一款在线 所见即所得的 Markdown 编辑器。水墨-在线 Markdown 编辑器。本人使用 Vditor 编辑器时日已久&#xff0c;眼看着其功能日益强大&#xff0c;特此基于 Vditor 构建一款 Web 编辑器&#…

(转载)mysql 用drop和delete方法删除用户的区别

&#xff08;转载&#xff09;http://hi.baidu.com/yymagento/item/56c3f6184bce8347e75e06db在学习drop方法删除用户时&#xff0c;按照书上讲的一直没操作成功&#xff0c;后来到网上查了点其他资料&#xff0c;才弄明白drop的方法&#xff0c;贴出来和大家分享一下。 &#…

退出出库复核是什么意思_细思极恐!为什么是黄晓明退出而不是李菲儿?因为女方是芒果艺人...

本文转载自&#xff1a;娱评人吴清功序言&#xff1a;《乘风破浪的姐姐》第二季即将接档《姐姐的爱乐之程》&#xff0c;于每周五晚上十点档播出。2021年1月5日&#xff0c;《乘风破浪的姐姐2》第一次公演举行&#xff0c;选手李菲儿和发起人黄晓明有亲密互动&#xff0c;李菲儿…

ie6 ie7下使用clear不能将浮动的元素换行问题

在主流浏览器中使用clear方法可以轻松完成浮动元素的换行。 例如&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.o…