微软mvc3框架的项目使用微软自带的ajax 必须引用下面

<script src="/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script> 

 

 

system.web.mvc.ajax  提供了一些常用的方法方便使用

 

AjaxHelper   主要 有

1)ajax.ActionToLink  点击链接异步加载返回的内容到html元素内

2)BeginForm(AjaxHelper, AjaxOptions)    将<form>标记写到响应中去,异步提交form数据 。

@using (Ajax.BeginForm("jsonLogin", "Home",
    new AjaxOptions {
        Confirm = "确定ajax提交么2?", UpdateTargetId = "loginError2", InsertionMode = InsertionMode.Replace, OnSuccess = "success",
        HttpMethod="Post", LoadingElementId="" }, new { name="form2"}
        ))
{
   <span id="loginError2" ></span>
   @Html.EditorForModel();
  <input type="submit" value="提交2" />
}

 

3)BeginRouteForm(String, AjaxOptions)

4)GlobalizationScript() 

5)RouteLink(String, String, AjaxOptions, Object)

 

 

AjaxOptions的几个属性

 

Confirm: 提交之前确认对话框

HttpMethod:get  or  post

UpdateTargetId:服务器端返回数据后用来填充 此id。

InsertionMode:  指定如何将响应插入目标 DOM 元素的模式. 3个值。  “InsertAfter”、“InsertBefore”或“Replace。默认是 replace.

OnBegin: post数据后执行的,一般为显示加载中..

OnComplete:获取响应的数据后更新页面之前的js方法

OnFailure:更新页面失败调用的js方法

OnSuccess:成功更新页面后执行的方法

 

 

 

项目问题:

1.mvc3 使用ajax时候,数据被提交2次。

解决:因为引用了2次js文件。

  <script src="/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
  <script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>

随便删除上面其中之一就行了

2.mvc3项目中使用 ajaxhelper帮助失效,提交数据仍然是普通的post提交

答:缺少js文件引用

3.  mvc3 中使用客户端模型验证,服务端验证

   1)首先要将web.config中的验证设置为true

 <appSettings>
<add key="webpages:Version" value="1.0.0.0" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings>

   2)引用相关js文件

客户端验证要引用

   <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>

MVC3 ajax功能的更多相关文章

  1. MVC3学习:利用mvc3+ajax实现全选和批量删除

    本例数据库操作使用EF code first; 先利用mvc自带的模板,先生成一个list视图,然后再手动添加复选框和删除按钮 <table> <tr> @*在标题行添加一个全 ...

  2. 模仿JQuery封装ajax功能

    需求分析 因为有时候想提高性能,只需要一个ajax函数,不想引入较大的jq文件,尝试过axios,可是get方法不支持多层嵌套的json,post方式后台接收方式似乎要变..也许是我不太会用吧..其实 ...

  3. MVC3学习:利用mvc3+ajax实现登录

    用到的工具或技术:vs2010,EF code first,JQuery ajax,mvc3. 第一步:准备数据库. 利用EF code first,先写实体类,然后根据实体类自动创建数据库:或者先创 ...

  4. Struts2 整合jQuery实现Ajax功能(1)

    技术领域非常多东西流行,自然有流行的道理.这几天用了jQuery,深感有些人真是聪明绝顶,能将那么多技术融合的如此完美. 首先明白个概念: jQuery是什么:是使用javascript语言开发的,用 ...

  5. Dojo入门:增强的Ajax功能

      随着Web技术的发展,RIA似乎已经成了主流,Ajax也随之成了不可或缺的部分.Ajax是异步的javascript和Xml,虽然现在很多交互的数据格式都不再严格的采用XML,但这种异步的操作却越 ...

  6. 摆脱jquery,用自己的JS库实现ajax功能

    可以将下面的代码保存在一个文件里如:myAjax.js,以后在项目中如果觉得jquery那一套很重,就完全可以使用自己的ajax库,不用担心性能和兼容性! /** * 创建ajax请求对象 * @re ...

  7. Struts2 整合jQuery实现Ajax功能(2)

    1.1.1   Action利用struts2-json-plugin-X.X.X.jar响应Json格式信息: 1.      function removerecordbyid(recordid) ...

  8. MVC3学习:利用mvc3+ajax结合MVCPager实现分页

    本例使用表格Users(Uid,UserName,PassWord),数据库访问使用EF first code. public class Users { [Key] public int Uid { ...

  9. MVC3学习:利用mvc3+ajax检测用户是否被注册

    假设用户名是保存在表Users中.关系模式为Users(Uid,UserName,PassWord) 可先利用mvc自带的模板生成Create页面. 将填写用户名的地方,由原来的 <div cl ...

随机推荐

  1. PL/SQL 入门

    1. 概述 PL/SQL(Procedure Language/SQL)是 Oracle 对 sql 语言的过程化扩展,指在 SQL 命令语言中增加了 过程处理语句(如分支,循环等),使 SQL 语言 ...

  2. PAT 1066. 图像过滤(15)

    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式: 输入在第一行给出一幅图像的分辨 ...

  3. app是什么意思?智能手机的第三方应用程序

    APP,在手机中的意思就是application的简称,也就是应用程序的意思,一般指手机软件,是安装在手机上的软件,完善原始系统的不足与个性化.APP是智能手机的第三方应用程序,app通常分为个人用户 ...

  4. 微信小程序排行榜

    哪类微信小程序使用量最多?小程序是附属在微信上,微信小程序排行榜跟微信的用户属性有很大的关系,微信用户对新闻资讯.情感.养生表现出了极大的兴趣,所有我们从新闻资讯小程序.视频小程序.情感类微信小程序. ...

  5. PyQt4 调用串口API pySerial API说明

    pySerial API官方介绍链接 http://pyserial.readthedocs.io/en/latest/pyserial_api.html

  6. 剑指offer 面试52题

    面试52题: 题目:两个链表的第一个公共节点 题:输入两个链表,找出它们的第一个公共节点. 解题思路: ①蛮力法:在第一个链表上顺序遍历每个节点,每遍历到一个节点,就在第二个链表上顺序遍历每个节点,直 ...

  7. 爬虫学习笔记(2)--创建scrapy项目&&css选择器

    一.手动创建scrapy项目---------------- 安装scrapy: pip install -i https://pypi.douban.com/simple/  scrapy    1 ...

  8. UI控件之UIPickerView的协议方法

    UIPickerView:选择视图,父类是UIView UIPickerView *pickerView=[[UIPickerView alloc]initWithFrame:CGRectMake(1 ...

  9. RocketMQ 笔记-转

    Astrotrain概述 Astrotrain是基于阿里巴巴开源项目RocketMQ进行封装的分布式消息中间件系统,提供集群环境下的消息生产和消费功能. RocketMQ介绍 RocketMQ的物理部 ...

  10. Redis的分布式配置

    Redis存在三种级别的分布式部署:主从复制.主从切换.集群配置,推荐使用主从切换模式. 主从复制 启动主服务:端口6379 启动从服务:端口6380, 配置文件中加上 slaveof 127.0.0 ...