Asp MVC(AJAX调用示例)
Jquery定义为ASP.NET MVC 的默认JS模板。
使用AJAX的条件
1.每个AJAX请求都会制定确定的ACTION
2.Action会判定是否来自AJAX
3.针对AJAX请求必须返回一个特殊的VIEW
?
在Asp.net MVC中,我们能非常方便的使用Ajax。这篇文章将介绍三种Ajax使用的方式,分别为原始的Ajax调用、Jquery、Ajax Helper。分别采用这三种方式结合asp.net mvc去实现一个史上最简单的留言板。首先看一下原始的Ajax的调用的:
定义CommentController,代码如下:
view plaincopy to clipboardprint?
- public?class?CommentController?:?Controller ??
- { ??
-
????private?IList<STRING>?_comments?=?new?List<STRING>(); ??
- ??
-
????public?ActionResult?Index() ??
- ????{ ??
-
????????return?View(); ??
- ????} ??
- ??
-
????public?void?AddCommentServer() ??
- ????{ ??
-
?????????string?comment?=?Request["comment"].ToUpper(); ??
- ????????_comments.Add(" ??
-
<LI>"?+?comment?+?"??
- ??
- "); ??
-
????????Response.ContentType?=?"text/html"; ??
-
????????Response.Write(string.Join("\n",?_comments.ToArray())); ??
- ????} ??
- } ??
- </LI>??
public class CommentController : Controller { private IList _comments = new List(); public ActionResult Index() { return View(); } public void AddCommentServer() { string comment = Request["comment"].ToUpper(); _comments.Add("
" + comment + " "); Response.ContentType = "text/html"; Response.Write(string.Join("\n", _comments.ToArray())); } }
在Asp.net MVC中添加一个custom_ajax.js,加入下面使用ajax的脚本代码,调用AddCommentServer方法。
view plaincopy to clipboardprint?
- function?getXmlHttpRequest()?{ ??
-
??????var?xhr; ??
-
????????
-
??????if?(typeof?ActiveXObject?!=?'undefined')?{ ??
-
??????????try?{ ??
-
??????????????xhr?=?new?ActiveXObject("Msxml2.XMLHTTP"); ??
-
??????????}?catch?(e)?{ ??
-
??????????????xhr?=?new?ActiveXObject("Microsoft.XMLHTTP"); ??
- ??????????} ??
-
??????}?else?if