快速业务通道

ASP.NET MVC入门 11、使用AJAX

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04

在ASP.NET MVC beta发布之前,M$就宣布支持开源的JS框架jQuery,然后 ASP.NET MVC beta发布后,你建立一个ASP.NET MVC beta的项目后,你可以在项 目的scripts目录下找到ASP.NET AJAX和jQuery的JS。反正我是比较喜欢jQuery的 ,所以对于M$此举还是挺欣慰的。

废话不多说,我们使用AJAX来实现发表 评论的功能吧。先来看看怎样使用M$的JS框架来进行异步AJAX请求。

首先 ,当然是要引入M$的AJAX框架的JS:

<script src="/Content/MicrosoftAjax.js" type="text/javascript"></script>
<script src="/Content/MicrosoftMvcAjax.js" type="text/javascript"></script>

ASP.NET MVC的框架的Helper方法中提供了对他自身的AJAX的支 持,使用的是System.Web.Mvc.Ajax命名空间下面的方法。你可以这样写代码:

ASP.NET MVC入门 11、使用AJAX

或者:

ASP.NET MVC入门 11、使用AJAX

在AjaxHelper中并没有EndForm方法,你可以直接写Html来关闭form, 或者你也可以使用Html.EndForm();来关闭。好,下面我们来写发表评论的 AjaxForm:

ASP.NET MVC入门 11、使用AJAX

这里详细说下AjaxOptions的可选配置的各个属性的作用。

public string Confirm :没测试,不知道干嘛用的,知道的说一下.

public string HttpMethod :就是指定请求的Http方法,"POST" "GET" "PUT" 等等ASP.NET MVC入门 11、使用AJAX

public InsertionMode InsertionMode :返回的内容要更新的目标元素的方式。有三种方式:

Replace :替换目标元素里面的内容;

InsertBefore :返回内容插入到目标元素的前面;

InsertAfter:返回内容插入到目标元素的后面。

public string LoadingElementId :指定在进行异步请求的时候要显示的提示信息的Loading元素的ID

public string OnBegin :在发送异步请求前触发的JavaScript方法

public string OnComplete :在发送异步请求完成后触发的JavaScript方法

public string OnFailure :在发送异步请求失败的时候触发的JavaScript方法

public string OnSuccess :在发送异步请求成功的时候触发的JavaScript方法

public string UpdateTargetId :指定返回的内容要更新的目标元素的ID

public string Url :请求的URL,不指定则为form的action的url。

在上面的代码中,在异步请求成功后会调用名称为clearComment的 JavaScript方法来清除输入框的评论内容,然后返回内容会替换掉id为 boxcomments元素里面的内容。完整的客户端代码如下:

<div class="entry">
<%
  Html.RenderPartial ("_commentList", ViewData.Model.Comments);
  if (BlogSettings.Instance.IsCommentsEnabled){
  Ajax.BeginForm ("AddComment", new { controller = "Home", id = "" }, new AjaxOptions()
  {
    HttpMethod = "Post",
    LoadingElementId = "loading",
    //OnBegin = "commentValidate",
    OnSuccess = "clearComment",
    UpdateTargetId = "boxcomments",
    InsertionMode = InsertionMode.Replace
  }, new { id = "commentform" });
%>
  <h3 id="respond">发表评论 </h3>
  <p>欢迎留下你的评论,你的支持,是我最大的动 力!</p>
  <p><label for="author">Name (required)</label>
   <input type="text" tabindex="1" size="22" value="" id="author" name="author"/>
  <%= Html.ValidationMessage ("Author")%></p>
  <p&

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号