本系列目录: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. LeetCode Note 1st,practice makes perfect

    1. Two Sum Given an array of integers, return indices of the two numbers such that they add up to a ...

  2. Log4net入门使用

    简介 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题. 经验表明,日志 ...

  3. CPU占用率呈正弦实现,及实时输出进程和线程的CPU占用率

    CPU占用率呈正弦实现,及实时输出进程和线程的CPU占用率 #include "stdafx.h" #include <windows.h> #include < ...

  4. ionic中关于ionicView 的生命周期

    当我们来回切换页面时候,视图被缓存下来,不用每次再去new一个新的视图,可以大大地提高性能.当跳出一个视图后,视图的元素被保存在DOM中,它的作用域也就不在$watch的作用域内,当我们访问一个已经被 ...

  5. C#设计模式-外观模式

    在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化,然而为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作 ”门面“模 ...

  6. WCF学习之旅——第一个WCF示例(一)

    最近需要用到WCF,所以对WCF进行了解.在实践中学习新知识是最快的,接下来先做了一个简单的WCF服用应用示例. 本文的WCF服务应用功能很简单,却涵盖了一个完整WCF应用的基本结构.希望本文能对那些 ...

  7. [CentOs7]搭建ftp服务器(3)——上传,下载,删除,重命名,新建文件夹

    摘要 上篇文章介绍了如何为ftp添加虚拟用户,本篇将继续实践如何上传,下载文件. 上传 使用xftp客户端上传文件,如图所示 此时上传状态报错,查看详情 从错误看出是应为无法创建文件造成的.那么我们就 ...

  8. Sql Server系列:数据控制语句

    数据控制语句用来设置.更改用户或角色的权限,包括GRANT.DENY.REVOKE等语句. GRANT用来对用户授予权限,REVOKE可用于删除已授权的权限,DENY用于防止主体通过GRANT获得特定 ...

  9. 【.NET深呼吸】线程信号量(Semaphore)

    Semaphore类可以控制某个资源允许访问的线程数,Semaphore有命名式的,也有不命名的:如果不考虑跨进程工作,一般在代码中使用不命名方式即可. 信号量有点类似于等待句柄,某个线程如果调用了W ...

  10. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(1)用户注册

    上一次把基本框架搭建起来了,这次开始整Web部分,终于可以看到界面了小激动一下.web项目部分从用户功能开始,基本有注册,登录.注销.查找.查看.删除等涉及Member区域和Manage区域. 目录: ...