使用ASP.NET MVC的jQuery表单验证

前端之家收集整理的这篇文章主要介绍了使用ASP.NET MVC的jQuery表单验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以使用jQuery ajax调用来使用ASP.NET MVC执行表单验证?我已经找不到任何这样的例子。

更具体地说,如何在页面上设置auth cookie(没有重定向),所以我可以连续验证ajax请求?

解决方法

是的,这是可能的。
只需使用方法 described here by mike bosch提交登录表单,并返回一个带有returnUrl的json数据结构(如果有的话)。

我创建了一个轻量级的LoginResultDTO类,我返回为json:

  1. public class LoginResultDTO
  2. {
  3. public bool Success {get;set;}
  4. public string Message {get;set;}
  5. public string ReturnUrl {get;set;}
  6. }

这里是一个脚本块从我的logon视图:

  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. var form = $($("form")[0]);
  4. form.submit(function() {
  5. var data = form.serialize();
  6. $.post(form.attr("action"),data,function(result,status) {
  7. if (result.Success && result.ReturnUrl) {
  8. location.href = result.ReturnUrl;
  9. } else {
  10. alert(result.Message);
  11. }
  12. },"json");
  13. return false;
  14. });
  15. });
  16. </script>

这将使ajax包装登录表单。请注意,这是JavaScript代码的最简单的实现,但它是一个开始的地方。

然后我修改了我的logon操作在AccountController和在相关的地方放置这样:

  1. if(Request.IsAjaxRequest())
  2. {
  3. return Json(new LoginResultDTO{Success=true,Message="Successfully logged in"});
  4. }else
  5. {
  6. return View();
  7. }

所以这是一个超轻但相当完整的版本的如何jquery身份验证可以在asp.net mvc。

猜你在找的asp.Net相关文章