最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。

十年河东十年河西,莫欺少年穷。 

学无止境,精益求精

   小弟之前做过三月的MVC,后来又一直webForm开发,再后来,也就是现在做WPF,最近随着项目进入尾声,也就慢慢清闲了下来,清闲的时间甚是无聊,索性随便学学,于是乎:前面给大家贡献了C# web api 返回类型设置为json的两种方法解决webApi<Message>An error has occurred.</Message>不能写多个Get方法的问题C# WebApi传参之Get请求-AJAXC# 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请求-AJAXC# 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种方式的更多相关文章

  1. Spring MVC处理异常的4种方式

    http://blog.csdn.net/ufo2910628/article/details/40399539 http://my.oschina.net/CandyDesire/blog/3333 ...

  2. (转载)MVC + JQUERY + AJAX的几种方式

    MVC + JQUERY + AJAX的几种方式 // 传过去一个简单值,获取一个简单值 $.ajax({            type: "GET",         url: ...

  3. MVC日期格式化的2种方式

    原文:MVC日期格式化的2种方式 假设有这样的一个类,包含DateTime类型属性,在编辑的时候,如何使JoinTime显示成我们期望的格式呢? using System; using System. ...

  4. Spring MVC 处理异常的3种方式

    使用Spring MVC开发的博客网站时,遇到了如何处理业务层抛出的异常的问题,查阅到了spring官方博客-spring MVC中异常的处理,以下将会以登录模块为示例. 愚蠢的处理方式 处理异常遵循 ...

  5. vue实现单点登录的N种方式

    最近项目停工了,RageFrame的学习暂时告一段落,这一篇给大家分享下有关单点登录的相关知识,并提供一些demo给大家参考,希望对想了解的朋友有一些帮助. 话不多说,先上原理(借鉴地址:https: ...

  6. MVC Controller弹窗的几种方式

    MVC3 Controller弹窗的几种方式   return Content("<script language='javascript' type='text/javascript ...

  7. jquery 绑定,mvc和webform的三种方式

    asp.net里的绑定方式,on的绑定方式无效 $('#SelCommandType').bind('click', function () { }); mvc里的绑定方式 $('#DownList' ...

  8. MVC+jquery+AJAX的几种方式

    // 传过去一个简单值,获取一个简单值 $.ajax({ type: "GET", url: '<%= Url.Action("xx", "Co ...

  9. JAVA中使用LDAP登录的三种方式

    搜索中关于java 登录ldap,大部分会采用  cn=xxx,ou=xxx,dc=xxx的方式,此处的cn是用户的Display Name,而不是account,而且如果ou有多层,比如我们的OU就 ...

随机推荐

  1. ecshop lang用法

    ecshop lang用法 分类: ECSHOP2013-08-15 16:17 2184人阅读 评论(0) 收藏 举报 ecshop目录下的languages目录.这个是ecshop语言包所在.ec ...

  2. shell的if else 以及大于,小于等逻辑表达式

    if ....; then .... elif ....; then .... else .... fi 大多数情况下,可以使用测试命令来对条件进行测试.比如可以比较字符串.判断文件是否存在及是否可读 ...

  3. Partitioning

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION The simplest scheme f ...

  4. enhance convenience rather than contribute to the fundamental power of the language

    Computer Science An Overview _J. Glenn Brookshear _11th Edition Universal Programming Languages In  ...

  5. 1Web语言:开始了解HTML

    HTML是hybertext markup language的缩写,用来告诉浏览器网页的结构和内容.HTML的所有工作都是关于结构的,而不是外观.CSS是级联样式表(Cascading Style S ...

  6. jsmooth 中文乱码

    为了一个问题 语言国际国际化  测试了这么多回  ,真佩服自己 jsmooth 中文乱码 语言乱码 的解决办法 : 需要在“JVM” 的参数 中填入一项 : user.language=en  而不是 ...

  7. android监听屏幕打开关闭广播无响应的情况

    android在屏幕打开和关闭的时候会发出广播,但是如果receiver配置在AndroidManifest.xml中时,receiver是接受不到任何广播的. <receiver androi ...

  8. eclipse根据.wsdl文件自动生成webservice的调用客户端

    1.工具:eclipse3.3或者是带有webservice插件的eclipse 2. 首先用浏览器访问webservice的站点,接着保存打开的页面,后缀为.wsdl. 3.把保存好的文件拷入ecl ...

  9. linux 开机启动设置

    操作系统:Ubuntu12.04硬件环境:HP CQ45        当用户使用sudo apt-get install安装完apache和mysql之后,这些服务默认是开机启动的,但是有的时候需要 ...

  10. Chip Factory---hdu5536(异或值最大,01字典树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5536 题意:有一个数组a[], 包含n个数,从n个数中找到三个数使得 (a[i]+a[j])⊕a[k] ...