C# MVC 实现登录的5种方式
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。
十年河东十年河西,莫欺少年穷。
学无止境,精益求精
小弟之前做过三月的MVC,后来又一直webForm开发,再后来,也就是现在做WPF,最近随着项目进入尾声,也就慢慢清闲了下来,清闲的时间甚是无聊,索性随便学学,于是乎:前面给大家贡献了C# web api 返回类型设置为json的两种方法、解决webApi<Message>An error has occurred.</Message>不能写多个Get方法的问题、C# WebApi传参之Get请求-AJAX、C# WebApi传参之Post请求-AJAX等博客,昨天来到公司还是啥事没有,闲的蛋疼的我,没事找事,就在网络上翻MVC相关知识,再后来,通过QQ,向我郑州的女性朋友(~_~)索要MVC资料,她给我提供的是PDF格式MVC资料,本人一向讨厌PDF文件,所以就没接收。于是乎,自己就开始瞎琢磨,开始了自己的MVC自学之旅。
本篇介绍MVC实现登录的五种方式,如下:
1、通过MVC Form 表单请求实现登录
2、通过AJAX GET 请求MVC Controller 实现登录
3、通过AJAX POST 请求MVC Controller 实现登录
4、通过AJAX GET 请求webAPI Controller 实现登录
5、通过AJAX POST 请求webAPI Controller 实现登录
GO
一、MVC Form 表单请求
既然是表单请求,就必须为咱们的View添加一个Form,本文中我们采用传统的Form格式,至于Razor中HtmlHelper提供的Form,本文不作探讨,有兴趣的小虎斑可参考上篇博客:C# MVC提交表单的四种方式(转)
示例代码如下:

很简单,所需注意的地方,已经标出,譬如:Form 的action指向对应Controller的Logins方法、既然是Form 表单提交,有必要为<input>标签添加相应的Name名称、最后表单请求必须用到Submit按钮
SO,我们的前端设计就完成了
后端代码则是更简单啦,如下:
/// <summary>
/// 简单示例登录-MVC 表单提交、AJAX GET请求、AJAX POST请求均可用此方法
/// </summary>
/// <param name="UserName">账户</param>
/// <param name="UserPwd">密码</param>
/// <returns></returns>
public int Logins(string UserName, string UserPwd)
{
if (UserName == "admin" && UserPwd == "admin")
{
return ;//登录成功--RedirectToAction("Index");
}
return ;//登录失败
}
二、AJAX GET 请求:
我们将View作如下修改:

去掉了FORM 和 Submit 按钮,<a> 标签执行一个JS函数:login()
login()方法如下:

后端代码和上边的一样,不作变化
在此解释下红线圈住的几个参数及作用
URL:请求的方法,通过:Controller/Action来指定
Type:请求类型,Get和Post两种
contentType:客户端发送至服务端的数据类型,上截图中的请求方式为Get,因此:contentType应取值为:"application/json",如果是POST请求,contentType应取值为:"application/x-www-form-urlencoded"。注:如果是Get或Post 请求webApi接口,contentType应取值为:"application/json"。具体内容请参考本人博客:C# WebApi传参之Get请求-AJAX、C# WebApi传参之Post请求-AJAX
dataType:服务端返回值类型,可以为XML HTML JSON Text 等
Data:Get或Post的数据,由服务端接收
后端代码和上述所贴代码一致。
三、AJAx POST 请求
VIew视图和GET请求一致,不作变化,唯独变化的就是contentType的取值和请求方式,代码如下:

4、AJAX GET请求webAPI实现登录 大家可参考本人博客:C# WebApi传参之Get请求-AJAX
5、AJAX POST请求webAPI实现登录 大家可参考本人博客:C# WebApi传参之Post请求-AJAX
@陈卧龙的博客
C# MVC 实现登录的5种方式的更多相关文章
- Spring MVC处理异常的4种方式
http://blog.csdn.net/ufo2910628/article/details/40399539 http://my.oschina.net/CandyDesire/blog/3333 ...
- (转载)MVC + JQUERY + AJAX的几种方式
MVC + JQUERY + AJAX的几种方式 // 传过去一个简单值,获取一个简单值 $.ajax({ type: "GET", url: ...
- MVC日期格式化的2种方式
原文:MVC日期格式化的2种方式 假设有这样的一个类,包含DateTime类型属性,在编辑的时候,如何使JoinTime显示成我们期望的格式呢? using System; using System. ...
- Spring MVC 处理异常的3种方式
使用Spring MVC开发的博客网站时,遇到了如何处理业务层抛出的异常的问题,查阅到了spring官方博客-spring MVC中异常的处理,以下将会以登录模块为示例. 愚蠢的处理方式 处理异常遵循 ...
- vue实现单点登录的N种方式
最近项目停工了,RageFrame的学习暂时告一段落,这一篇给大家分享下有关单点登录的相关知识,并提供一些demo给大家参考,希望对想了解的朋友有一些帮助. 话不多说,先上原理(借鉴地址:https: ...
- MVC Controller弹窗的几种方式
MVC3 Controller弹窗的几种方式 return Content("<script language='javascript' type='text/javascript ...
- jquery 绑定,mvc和webform的三种方式
asp.net里的绑定方式,on的绑定方式无效 $('#SelCommandType').bind('click', function () { }); mvc里的绑定方式 $('#DownList' ...
- MVC+jquery+AJAX的几种方式
// 传过去一个简单值,获取一个简单值 $.ajax({ type: "GET", url: '<%= Url.Action("xx", "Co ...
- JAVA中使用LDAP登录的三种方式
搜索中关于java 登录ldap,大部分会采用 cn=xxx,ou=xxx,dc=xxx的方式,此处的cn是用户的Display Name,而不是account,而且如果ou有多层,比如我们的OU就 ...
随机推荐
- C#winform中TrackBar的使用
1.手动设置高度(宽):把AutoSize属性设为false 2.重要的事件:Scroll事件和和ValueChanged事件 3.由于TrackBar的Value类型为int,若绑定数据项的最小精度 ...
- MySQL 绿色版(zip) 安装
设置环境变量Path,指向到MYSQL下的bin目录 修改MYSQL下的my-default.ini basedir=%MYSQL_HOME% datadir=%MYSQL_HOME%\data 到M ...
- spring-3-mvc-hello-world-example
http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example/
- startActivityForResult的用法和demo
[转]startActivityForResult的用法和demo 博客分类: java 移动开发 有时候我们需要把A activity提交数据给B activity处理,然后把结果返回给A 这种 ...
- 【转】C#高性能大容量SOCKET并发(二):SocketAsyncEventArgs封装
http://blog.csdn.net/sqldebug_fan/article/details/17557341 1.SocketAsyncEventArgs介绍 SocketAsyncEvent ...
- The Producer-Consumer Relationship
//Listing 3-1. The Producer-Consumer Relationship Version 1 public class PC { public static void mai ...
- java开发bug 在启动Tomcat 6.0时发现第一条信息便是
MyEclipse 8.5 + tomcat6 + jdk 1.8 启动的时候报错: The APR based Apache Tomcat Native library which allows o ...
- App Previews操作经验
App Previews操作经验 http://www.cocoachina.com/ios/20140924/9741.html http://www.cocoachina.com/bbs/read ...
- 将所有程序设置XML集中到一个单独XML配置文件的方法:使用appSettings元素的configSource元素
在.NET程序中,程序的配置文件默认都会放在程序根目录下的web.config(网站程序)或App.config(控制台等程序),在该配置文件中可以定义若干程序配置信息. 在此以网站程序为例,首先将下 ...
- python : dictionary changed size during iteration
1. 错误方式 #这里初始化一个dict >>> d = {'a':1, 'b':0, 'c':1, 'd':0} #本意是遍历dict,发现元素的值是0的话,就删掉 >> ...