技术开发 频道

Asp.net MVC简单实用三种使用Ajax方式

  第三种方式:Ajax Helper。 将最简单的留言板修改成Ajax Helper的方式。 1、首先了解一下Ajax Helper下面四种方法。

  a、Ajax.ActionLink():它将渲染成一个超链接的标签,类似于Html.ActionLink()。当它被点击之后,将获取新的内容并将它插入到HTML页面中。

  b、Ajax.BeginForm():它将渲染成一个HTML的Form表单,类似于Html.BeginForm()。当它提交之后,将获取新的内容并将它插入到HTML页面中。

  c、Ajax.RouteLink():Ajax.RouteLink()类似于Ajax.ActionLink()。不过它可以根据任意的routing参数生成URL,不必包含调用的action。使用最多的场景是自定义的IController,里面没有action。

  d、Ajax.BeginRouteForm():同样Ajax.BeginRouteForm()类似于Ajax.BeginForm()。这个Ajax等同于Html.RouteLink()。

  这个例子中使用Ajax.BeginForm(),下面具体了解Ajax.BeginForm()的参数。看下面代码

<% using (Ajax.BeginForm("AddComment", new AjaxOptions
                                            {
                                                HttpMethod
= "POST",
                                                UpdateTargetId
= "comments",
                                                InsertionMode
= InsertionMode.InsertAfter                                                
                                            })) { %
>

 

  actionName:AddComment(action的名字)

  controllerName:CommentController(Controller的名字)

  ajaxOptions:

  HttpMethod:Ajax的请求方式,这里为POST

  UpdateTargetId :Ajax请求的结果显示的标签的ID,这里为comments

  InsertionMode:将Ajax结果插入页面的方式,这里将ajax的结果放置到comments的后面

  2、实现:

  在CommentController中添加IndexAjaxHelp方法。

public ActionResult IndexAjaxHelp()
{
    return View();
}

 

  根据IndexAjaxHelp生成View表单IndexAjaxHelp.aspx,定义表单: 
      要在此View中添加下面两个脚本文件:

<script src="http://www.cnblogs.com/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
    
<script src="http://www.cnblogs.com/Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>

 

  这样就行了,我们发现比用Jquery方便很多,但是使用Jquery将灵活很多。

  3、效果:和方式一样。

  总结:本文非常的简单,在asp.net mvc中实现了3中ajax的调用方式,实现了一个最简单的留言板程序。推荐使用Jquery和Ajax Helper这两种。Ajax Helper使用非常简单,Jquery比较灵活。

  更新:三种方式都实现了一个最简单的留言板程序

  参考:

  ASP.NET MVC 2 In Action

  Pro ASP.NET MVC 2 Framework, Second Edition

  代码:http://files.cnblogs.com/zhuqil/AjaxDemo.rar

0
相关文章