第一句话都会这么去写:程序猿就是苦逼,除了开发还要会写博文!哎,今天就和大家一起讨论下Ajax的辅助方法ActionLink的使用,如果有讲的不好的地方或错的地方,请大家务必扔板砖,要投准哦,砸死我算了!

1、引入JS文件:Ajax辅助方法依赖于非侵入式JavaScript,所谓非侵入式JavaScript是指:在HTML中不包含任何的JavaScript代码。如果要使用Ajax的辅助方法,就必须引用相关的JS文件。如下:

首先引入JQ:<script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>

其次引入和AJax相关的JS文件: <script src="../../Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>

至于这些与Ajax相关的JS文件,在项目的Script文件夹中,自己找哈!

2、引入了这些JS文件以后,我们就可以在视图中调用Ajax.ActionLink()方法了,在此声明下哈,我这里用的视图是Razor视图,即:csHTML文件!

在Index视图中,我们可以通过Ajax的属性访问ActionLink方法,废话不多说,咱们直接看代码吧!嘻嘻~_~

@Ajax.ActionLink("Click Here", "Hello", "Home", new { name="天才卧龙"}, new AjaxOptions { UpdateTargetId = "myDiv2", HttpMethod = "GET", InsertionMode = InsertionMode.Replace }, new { Title = "点击我,实现异步!" })

<div id="myDiv2">
       @* 用于异步加载返回结果*@
    </div>

参数注解:Click Here            是指链接所要显示的文本。

Hello                   对应构造方法中的 action                      是指调用的操作的名称

Home                  对应构造方法中的Controller                 是指异步操作调用的控制器名称

new { name="天才卧龙"}       对应构造方法中的routeValues              是指传递的参数  参数名为:name   值为:天才卧龙

new AjaxOptions {.....}         对应构造方法中的AjaxOptions              在此详细介绍下参数AjaxOptions

对于HTML辅助方法与Ajax辅助方法,显著不同的就是AjaxOptions。该参数指定了发送请求的方式及处理服务器返回结果的方式。下面分别介绍各个属性的意义。

一、UpdateTargetId = "myDiv2"  是指用来接收服务器返回结果的容器ID

二、HttpMethod = "GET"   不必多说,大家都知道,以GET方式请求数据。

三、InsertionMode = InsertionMode.Replace     指定使用哪一种方式在指定的UpdateTargetId元素更新数据,可以有三种方式: "InsertAfter", "InsertBefore", or "Replace" 。默认为:Replace

new { Title = "点击我,实现异步!" }   是指:HtmlAttributes  不做解释

3、根据上述的解析,找到Home控制器,添加名为Hello的action,代码如下:

[HttpGet]

public string Hello(string name)

{

return "Hello:" + name;

}

最后运行程序,点击下:Click Here   就会在ID为myDiv2的容器中显示:Hello:天才卧龙

其实实现Ajax.ActionLink()方法很简单,通过上述的例子,我相信大家都明白怎样用Ajax.ActionLink()方法实现异步了。

最后将上述知识在做下总结(仅仅总结参数AjaxOptions对应属性用法,其他的和HTML辅助方法大同小异。自己学哈。)

AjaxOptions中还有其他可以指定的属性:

Confirm 等效于javascript中的return confirm(msg),在点击该链接时先提示需要确认的信息。
HttpMethod 指定使用Get或者是Post方式发送Http请求
InsertMode 指定使用哪一种方式在指定的UpdateTargetId元素更新数据,可以有三种方式: "InsertAfter", "InsertBefore", or "Replace" 。默认为:Replace
LoadingElementDuration Loading元素显示的时间
LoadingElementId 可以指定在Http请求期间显示的Loading元素
OnBegin 在Http请求之前执行的javascript方法
OnComplete 在Http请求结束时执行的方法
OnFailure 在Http请求失败时执行的方法
OnSuccess 在Http请求成功时执行的方法
UpdateTargetId Http请求更新的页面元素
Url Http请求的Url

Ajax.ActionLink()方法的使用的更多相关文章

  1. Ajax的ActionLink方法(适用于异步加载)

    8.2.1  AJAX的ActionLink方法 在Razor视图中,AJAX辅助方法可以通过Ajax属性访问.和HTML辅助方法类似,Ajax属性上的大部分AJAX辅助方法都是扩展方法(除了Ajax ...

  2. Ajax.ActionLink参数详解

    该语法会生成一个a标签,点击a标签会执行一个Ajax请求. 有12个方法重载,下面详解方法中的各项参数: 参数一:linkText string类型 说明:链接显示的文字内容 参数二:actionNa ...

  3. 【ASP.NET MVC 】让@Ajax.ActionLink获取的数据不进Cache

    刚玩这个东西的时候,发现IE会进Cache,不管怎么删除,修改,后台删除了,前台还是一样,找了一下,HTML5只提供了 <meta http-equiv="pragma" c ...

  4. Ajax辅助方法

    目前为止,我们已经考察了如何编写客户端JavaScript代码,以发送并接受服务器的数据.然而,在使用ASP.NET MVC时,还有另一种方法可用来执行Ajax调用,这就是Ajax辅助方法. Ajax ...

  5. Ajax.ActionLink 用法

    Ajax.ActionLink 用法 Ajax 属性的ActionLink方法可以创建一个具有异步行为的锚标签. ActionLink方法的第一个参数指定了链接文本,第二个参数是要异步调用的操作的名称 ...

  6. MVC学习十二:Ajax.ActionLink用法

    Ajax.ActionLink用法 <!--使用Ajax.BeginForm必须引用的js文件--> <script type="text/javascript" ...

  7. Ajax.ActionLink用法

    必须要引用的JS库: <script type="text/javascript" src="@Url.StaticFile("/Assets/Conte ...

  8. [MVC]Ajax辅助方法

    在开始使用Ajax辅助方法前,必须在页面中载入jQuery以及jquery.unobtrusive-ajax.js文件才能正常执行. 为了让网站载入适当的JS函数库,必须先让Layout页面载入适当的 ...

  9. @Ajax.ActionLink跳转页面的问题解决方案 MVC Ajax不支持问题

    [JavaScriptResult]在客户端执行服务器返回的JavaScript代码当一个内置的Ajax辅助方法请求一个操作方法,该方法会返回一个在客户端执行立即的脚本. public ActionR ...

随机推荐

  1. 1. Programming in C is fun!

    Programming in C is fun! #include <stdio.h> int main() { printf("Programming in C is fun! ...

  2. ios-指纹识别

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { //1. 判断系统版本 if ( ...

  3. diy-pagination-javascript 分页

    <?php isset($_REQUEST['form_single_page_num']) && !empty($_REQUEST['form_single_page_num' ...

  4. Apche Kafka 的生与死 – failover 机制详解

    Kafka 作为 high throughput 的消息中间件,以其性能,简单和稳定性,成为当前实时流处理框架中的主流的基础组件. 当然在使用 Kafka 中也碰到不少问题,尤其是 failover ...

  5. Nginx目录别名(Alias)支持PHP的配置

    需求:通过 example.com 访问 /var/data/www,但通过 example.com/pa 访问的却是 /var/data/phpmyadmin,即保护phpmyadmin不暴露在ww ...

  6. UBUNTU 14.04 安装 OPENCV 2.4.9

    1.  从OpenCV.org 下载源代码 opencv-2.4.9.zip 2. 解压到准备好的目录 unzip opencv-2.4.9.zip 3. 进入源码目录,创建release目录 cd ...

  7. 初次接触Groovy

    其实我这两年业余时间一直断断续续的在学java,水平还不怎么样,不过起码能参与小项目写写接口了.现在我决定暂时放下大众的java,改学小众的Groovy,只因为我新拿到个offer,对方公司的自动化框 ...

  8. python 输出乱码

    在Python中有两种默认的字符串:str和unicode.在Python中一定要注意区分“Unicode字符串”和“unicode对象”的区别.后面所有的“unicode字符串”指的都是python ...

  9. 修改delphi xe6 FMX Label字体颜色

    delphi fmx的字体等设置默认与皮肤有关,用代码直接修改字体颜色等是无效的,如何才能用代码修改呢?请按以下方法就可以: 1.在Object inspector中取消StlyedSettings中 ...

  10. php--yii框架中的ajax分页与yii框架自带的分页

    要想使用Yii分页类 第一步:在控制器层加载分页类 use yii\data\Pagination; 第二步: 使用model层查询数据,并用分分页,限制每页的显示条数 $data = Zhao::f ...