本系列目录:ASP.NET MVC4入门到精通系列目录汇总

Unobtrusive Ajax使用方式(非入侵式)

非入侵式,通俗来讲:就是将嵌入在Html中的JavaScript全部取出来,放在单独的 js 文件中,html标签中不要出现任何onclick、onload 等

Unobtrusive Ajax 方便程序员编写简单易于维护的ajax代码(Code is cleaner and easier to maintain)。

基本特点

1.网页内容和表单使用纯 HTML;

2.不借助 JavaScript,表单和超级连接也能正常使用;

3.页面外观完全由 CSS 控制,而不是 HTML(不要用 table 来布局) 或 JavaScript;

4.任何人都能通过任何设备(考虑不支持JavaScript的设备)访问;

 ASP.Net MVC 全局开启非入侵ajax

ASP.NET MVC4中,已经默认开启客户端验证和非侵入式js。Web.config中

    <add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

页面添加非入侵js文件

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

可在单个视图页面(View)上关闭

@{Html.EnableUnobtrusiveJavaScript(false);}
@{Html.EnableClientValidation(false);}

注意下js引用顺序

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

AjaxHelper

异步链接按钮

注意:必须开启 非入侵式 Ajax:导入Jquery和unobtrusiveAjax文件

View中:@Ajax.ActionLink 创建 ajax 超链接按钮,一般用来请求动态生成的部分html代码(分部视图)

@Ajax.ActionLink("链接文本", "PartialViewTest", new AjaxOptions() {
UpdateTargetId="divMsg",//数据显示的html容器id
InsertionMode= InsertionMode.Replace, //替换容器内容
HttpMethod="Post" })

Controller中

        public PartialViewResult PartialViewTest()
        {
            ViewData["Msg"] = "Hello world!";
            return PartialView();
        }

异步表单

View中:@Ajax.BeginForm 创建 异步表单

@using(Ajax.BeginForm("PartialViewTest","Home",new AjaxOptions{
UpdateTargetId="msgDiv" , InsertionMode= InsertionMode.Replace,
HttpMethod="post" , OnFailure= "fail",
LoadingElementId="lodeingmsg"}))
{
<input type="text" name="txtName" />
<input type="submit" />
}

Controller:

        public PartialViewResult PartialViewTest()
        {
            ViewData["Msg"] = "Hello world!";
            return PartialView();
        }

示例

View中:@Ajax.BeginForm 创建 异步表单

@using(Ajax.BeginForm("PartialView","Home",new AjaxOptions{
UpdateTargetId="msgDiv" , InsertionMode= InsertionMode.Replace,
HttpMethod="post" , OnFailure= "fail", OnSuccess="success" ,
OnComplete="comlete", LoadingElementId="lodeingmsg"}))
{
<input type="text" name="txtName" />
<input type="submit" />
}
<div id="lodeingmsg" style="display:none;">加载中...</div>
<script type="text/javascript">function fail(xhr) { alert("方法参数是异步对象" + xhr.responseText); }
    function complete(xhr) { alert("方法参数是异步对象" + xhr.responseText); }
    function success(text) { alert("方法参数是响应报文体" + text); }
</script>

UpdateTargetId:目标元素id,获取服务器响应后,将获取的响应报文体显示到目标元素的innerHTML中。
InsertionMode:  InsertAfter 插入目标元素原有内容之后;InsertBefore 插入目标元素原有内容之前,Replace,替换目标元素原有内容
LoadingElementId:异步对象readyState==4之前显示"正在加载"状态的元素id
AjaxOptions对象生成【对应】触发ajax请求的标签的 属性

<a data-ajax="true" data-ajax-method="Post" data-ajax-mode="replace" data-ajax-update="#divMsg" href="/Home/PartialViewTest">链接文本</a>

aaarticlea/png;base64,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" alt="" />

请求Json数据

View中:

@Ajax.ActionLink("click here", "DogList", new AjaxOptions() {
UpdateTargetId="divMsg",
InsertionMode= InsertionMode.Replace,
HttpMethod="Get" })

Controller中:使用 Json方法 返回一个 JsonResult

public ActionResult PartialView() //返回类型也可写 JsonResult
{
var dogList = db.Dogs.ToList();
return Json(dogList, JsonRequestBehavior.AllowGet);
}

MVC框架默认不允许使用Json响应Get请求,需要开启。

Jquery请求控制器Action

除了url指向 控制器的 Action方法外,其它和以前一样
具体参见 Jquery帮助文档 ajax 方法:
$.ajax   
$.post   
$.load  
$.get

Jquery 模板插件

导入脚本:

<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.tmpl.min.js")"></script>

添加模板-占位符格式:$(json对象属性名):

<script id="temp" type="text/x-jquery-tmpl">
<tr>
<td>${CID}</td><td>${CName}</td><td>${CCount}</td>
</tr>
</script>

为模板装载数据并最终生成html,添加到表格中:

function ajaxFinish(jsonObjArray) { //[{CID:"1",CName:"aa",CCount:"1"},....{}]
$("#temp").tmpl(jsonObjArray).appendTo("#tbList");
}

14、ASP.NET MVC入门到精通——Ajax的更多相关文章

  1. 26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 有好一段时间没更新博文了,最近在忙两件事:1.看书,学习中...2.为公司年会节目做准备,由于许久没有练习双截棍了,难免生疏,所以现在临时抱 ...

  2. 25、ASP.NET MVC入门到精通——Spring.net-业务层仓储

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一节,我们已经把项目框架的雏形搭建好了,那么现在我来开始业务实现,在业务实现的过程当中,不断的来完善我们现有的框架. 1.假设我们来做一个 ...

  3. 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...

  4. 8、ASP.NET MVC入门到精通——View(视图)

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 View视图职责是向用户提供界面.负责根据提供的模型数据,生成准备提供给用户的格式界面. 支持多种视图引擎(Razor和ASPX视图引擎是官 ...

  5. 11、ASP.NET MVC入门到精通——AspnetMVC分页

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 说起分页,这基本上是我们Web开发中遇见得最多的场景,没有之一,可即便如此,要做出比较优雅的分页还是需要技巧的.这里我先说一种ASP.NET ...

  6. 13、ASP.NET MVC入门到精通——MVC请求管道

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 ASP.NET MVC的请求管道和ASP.NET请求管道基本上一模一样,如果你对ASP.NET请求管道十分熟悉的话,你只要关注一下不同点.看 ...

  7. 15、ASP.NET MVC入门到精通——MVC-路由

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Routing(路由) – URL url 作为广泛使用的Web用户接口,需要被重视 好的Url应该满足如下条件: URL应为获取某种资源提 ...

  8. 20、ASP.NET MVC入门到精通——WebAPI

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 微软有了Webservice和WCF,为什么还要有WebAPI? 用过WCF的人应该都清楚,面对那一大堆复杂的配置文件,有时候一出问题,真的 ...

  9. 21、ASP.NET MVC入门到精通——ASP.NET MVC4优化

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 删除无用的视图引擎 默认情况下,ASP.NET MVCE同时支持WebForm和Razor引擎,而我们通常在同一个项目中只用到了一种视图引擎 ...

随机推荐

  1. C语言 · 出现次数最多的数

    问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来.如果有两 ...

  2. C#设计模式-代理模式

    在软件开发过程中,有些对象有时候会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端和目标对象之间增加一层中间层,让代理对象代替 ...

  3. iOS-几大框架的介绍

    1.Objective-C之Foundation框架 概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objectiv ...

  4. CSS系列:CSS中盒子模型

    盒子模型是CSS控制页面时一个很重要的概念.所有页面中的元素都可以看成是一个盒子,占据着一定的页面空间.可以通过调整盒子的边框和距离等参数,来调节盒子的位置和大小. 1. 盒子的内部结构 在CSS中, ...

  5. jQuery 2.0.3 源码分析core - 整体架构

    拜读一个开源框架,最想学到的就是设计的思想和实现的技巧. 废话不多说,jquery这么多年了分析都写烂了,老早以前就拜读过, 不过这几年都是做移动端,一直御用zepto, 最近抽出点时间把jquery ...

  6. python学习之day1-基础知识

    1.变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.变量可以通过变量名访问.在python中,如果要使用一个变量,不需要提前声明,只需要在用的时候,给这个变量赋值即可.pytho ...

  7. ICSharpCode.SharpZipLib.dll 移植WP

    由于众所周知的原因. ICSharpCode.SharpZipLib.dll在Unity移植WP的时候出现诸多API不兼容,解决方案是在在Github上面找ICSharpCode.SharpZipLi ...

  8. 深入学习jQuery的三种常见动画效果

    × 目录 [1]显隐效果 [2]高度变化 [3]淡入淡出 前面的话 动画效果是jQuery吸引人的地方.通过jQuery的动画方法,能够轻松地为网页添加视觉效果,给用户一种全新的体验.jQuery动画 ...

  9. ASP.NET Core的配置(4):多样性的配置来源[中篇]

    我们在本篇文章中会介绍三种针对物理文件的ConfiguationProvider,它们分别是针对JSON文件的JsonConfiguationProvider,针对XML文件的XmlConfiguat ...

  10. gravatar配置和使用【让你的网站使用全球通用头像】

    前言 我们在很多博客或者网站留言,评论的时候会看到有的人头像很酷很个性化,但是这个博客和网站本身并没有提供设置头像的功能,感觉有点神奇,那么是怎么做到的呢?其实这是使用了Gravatar. Grava ...