原文:Understanding AJAX Helpers in ASP.NET MVC

作者:

Shailendra Chauhan works as Software Analyst at reputed MNC and has more than 5 years of hand over Microsoft .NET technologies. He is a .NET Consultant and is the founder & chief editor of www.dotnet-tricks.com and www.dotnetinterviewtricks.com blogs. He is author of book ASP.NET MVC Interview Questions and Answers.
He loves to work with web applications and mobile apps using Microsoft technology including ASP.NET, MVC, C#, SQL Server, WCF, Web API, Entity Framework,Cloud Computing, Windows Azure, jQuery, jQuery Mobile, Knockout.js, Angular.js and many more web technologies. More...

AJAX助手主要用于创建已启用AJAX的元素来执行异步请求,如启用了Ajax的表单或链接。AJAX助手是AJAXHelper类的扩展方法,包含在System.Web.Mvc.Ajax命名空间中。

AJAX HTML 元素示例
基于action/controller的启用了AJAX的链接 @Ajax.ActionLink("Load Products", "GetProducts", new AjaxOptions {UpdateTargetId = "Products-container", HttpMethod = "GET" })
输出:<a data-ajax="true" data-ajax-method="GET" data-ajax-mode="replace" data-ajax-update="#Products-container" href="/Home/GetProducts">Load Products</a>

非介入式AJAX(Unobtrusive AJAX)

ASP.NET支持基于JQuery非介入式的AJAX。非介入式意味着可以使用辅助方法来定义Ajax功能,而不是通过在视图内添加代码块来实现。

AJAX助手的各种配置选项

在AjaxOptions类定义了用来为AJAX请求生命周期内的不同阶段指定回调函数的属性。通过AjaxOptions类为AJAX助手提供了以下属性:

属性

描述

Url

指定要请求的服务器的地址

Confirm

指定将要显示给最终用户的确认对话框内消息。当用户在确认对话框内单击OK按钮,Ajax将执行调用。

OnBegin

指定在发送Ajax请求前要调用的JavaScript函数名称。

ONComplete

指定在Ajax请求完成后要调用的JavaScript函数名称。

OnSuccess

指定在Ajax请求成功后要调用的JavaScript函数名称。

OnFailure

指定在Ajax请求失败后要调用的JavaScript函数名称。

LoadingElementId

用来指定在Ajax请求期间用来显示进度信息或动画的容器的id

LoadingElementDuration

指定进度信息或动画的持续时间,单位为毫秒

UpdateTargetId

指定用来填充action方法返回的HTML的目标容器的id

InsertionMode

指定目标容器的填充防守。可选择值包括InsertAfter、 InsertBefore 和Replace(默认值)

什么是跨域Ajax?

默认情况下,Web浏览器允许AJAX调用Web应用程序源站点的数据,即托管服务器的站点。这样做的目的是为了防止各类安全问题,如跨站脚本(XSS)攻击。不过,有时候还是需要与外部托管的API进行交互,如Twitter或Google。因此,要与这些外部的API或服务器进行交互的Web应用程序必须支持JSONP请求或跨资源共享(CORS)。在默认情况下,ASP.NET MVC是不支持JSONP或CORD的,为此,需要做一点点的编码和配置。

【翻译】了解ASP.NET MVC中的Ajax助手的更多相关文章

  1. Asp.net mvc中的Ajax处理

    在Asp.net MVC中的使用Ajax, 可以使用通用的Jquery提供的ajax方法,也可以使用MVC中的AjaxHelper. 这篇文章不对具体如何使用做详细说明,只对于在使用Ajax中的一些需 ...

  2. 自坑实录 - Asp.net MVC中无法使用@Ajax.BeginForm问题解决

    创建空的web项目,通过Nuget引用mvc组件来搭建空的MVC项目时, 在视图页面中无法使用@Ajax.BegForm来进行异步提交数据, 而新建默认的MVC模板项目却能够正常使用@Ajax.Beg ...

  3. ASP.NET MVC中Unobtrusive Ajax的妙用

    Unobtrusive Javascript有三层含义:一是在HTML代码中不会随意的插入Javsscript代码,只在标签中加一些额外的属性值,然后被引用的脚本文件识别和处理:二是通过脚本文件所增加 ...

  4. 转:ASP.NET MVC中Unobtrusive Ajax的妙用

    Unobtrusive Javascript有三层含义:一是在HTML代码中不会随意的插入Javsscript代码,只在标签中加一些额外的属性值,然后被引用的脚本文件识别和处理:二是通过脚本文件所增加 ...

  5. ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用

    Ajax的全名为:Asynchronous Javascript And XML(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术.Ajax技术首先向Web服务器发送 ...

  6. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  7. ASP.NET MVC学习之Ajax(完结)

    一.前言 通过上面的一番学习,大家一定收获不少.但是总归会有一个结束的时候,但是这个结束也意味着新的开始. 如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发aj ...

  8. 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...

  9. ASP.NET MVC中使用ASP.NET AJAX异步访问WebService

    使用过ASP.NET AJAX的朋友都知道,怎么通过ASP.NET AJAX在客户端访问WebService,其实在ASP.NET MVC中使用ASP.NET AJAX异步访问WebService 也 ...

随机推荐

  1. 没有JavaScript的基础,我可以学习Angular2吗?

    Can I learn and understand Angular2 without understanding JavaScript? 没有JavaScript基础我能学习和理解Angular2吗 ...

  2. ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门

    ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 第一章主要包括R ...

  3. OpenMP实现生产者消费者模型

    生产者消费者模型已经很古老了吧,最近写了个OpenMP版的此模型之实现,来分享下. 先说一下模型的大致做法是: 1.生产者需要取任务,生产产品. 2.消费者需要取产品,消费产品. 生产者在生产某个产品 ...

  4. Android Firebase 服务简介

    Firebase初步了解 什么事Firebase?Firebase成立于2011年,在被Google收购之前,Firebase是一个协助开发者快速构建App,能够提供行动应用专用开发平台及SDK的一款 ...

  5. Java之继承深刻理解

    1.关于私有成员变量 无论父类中的成员变量是私有的.共有的.还是其它类型的,子类都会拥有父类中的这些成员变量.但是父类中的私有成员变量,无法在子类中直接访问,必须通过从父类中继承得到的protecte ...

  6. 禁止通过网页URL访问文件夹 asp.net

    我们可以通过如下的两种办法,禁止用户通过浏览器的URL地址直接访问网站服务器的文件夹. 一.通过类和配置文件限制 ①NET C#代码 新建一个类,继承IHttpHandler using System ...

  7. 【移动开发】 Android隐藏输入法软键盘的一些说明

    刚刚在写一个仿微信的Android聊天软件,在编写的过程中,发现一个严重的BUG---当用户点击输入框用软键盘输入文本的时候点击了"返回好友列表"的按钮,返回到好友列表时软键盘无法 ...

  8. iOS完整预装字体清单

    iOS完整预装字体清单:http://iosfonts.com/

  9. Android广播接收器Broadcast Receiver-android学习之旅(十二)

    首先继承BroadcastReceiver类,并在manifest中注册 public class MyReceiver extends BroadcastReceiver { public MyRe ...

  10. Iframe高度自适应(兼容IEFirefox、同域跨域)

    在实际的项目进行中,很多地方可能由于历史原因不得不去使用iframe,包括目前正火热的应用开发也是如此. 随之而来的就是在实际使用iframe中,会遇到iframe高度的问题,由于被嵌套的页面长度不固 ...