在ASP.NET MVC beta中我們可以使用Ajax.BeginForm, Ajax.ActionLink來進行Ajax調用,同樣我們也可以使用一些支援Ajax 架構如jQuery來簡化對ajax的調用。
1. ASP.NET MVC beta中內建了AJAX的支援,但是我們必須引入MicrosoftAjax.js, MicorsoftMvcAjax.js.
2. 由於ASP.NET MVC已經整合了jQuery,所以我們也可以很方便的使用jQuery的Ajax功能
的代碼展示了前台的三種方式
(1)Ajax.BeginForm
這裡涉及到如何附加表單之外的參數到遠程,實際上我們只需要附加到post的url後就行了,例如把action改為AjaxGetJSON?name=jack,或者AjaxGetJSON/jack然後配置route就可以
(2) Ajax.ActionLink
附加參數和上面相同
(3) jQuery.ajax
參看的GetByJquery()函數
3.後台代碼
第一個直接返回Json資料,第二個,第三個都是通過使用者控制項來返回Html.
public JsonResult AjaxGetJSON(Person p)
{
Thread.Sleep(3000);
return this.Json(p);
}
public ActionResult AjaxGetString()
{
Person p = new Person { FirstName = "Bill", LastName = "Gates" };
return View("AjaxContent",p);
}
public ActionResult AjaxByJquery()
{
Person p = new Person { FirstName = "Bill", LastName = "Gates" };
return View("AjaxContent", p);
}
4. AjaxContent使用者控制項內容
通過上面的方法,我們很容易模仿原來webservice方式的調用,把ajax的功能放到一個統一的controller裡,比如叫AjaxServiceController.