MvcPager samples - Ajax events
This sample demonstrate how to handle Ajax events when implement Ajax paging, click or select page 10 will trigger server exception and fire the client OnFailure Ajax event.
Please note: AjaxOptions.OnSuccess property is not implemented when using jQuery Ajax
Please note: AjaxOptions.OnSuccess property is not implemented when using jQuery Ajax
| Order ID | Order Date | Customer ID | Ship Address |
|---|---|---|---|
| 10760 | 12/1/1997 12:00:00 AM | MAISD | Rue Joseph-Bens 532 |
| 10761 | 12/2/1997 12:00:00 AM | RATTC | 2817 Milton Dr. |
| 10762 | 12/2/1997 12:00:00 AM | FOLKO | Åkergatan 24 |
| 10763 | 12/3/1997 12:00:00 AM | FOLIG | 184, chaussée de Tournai |
| 10764 | 12/3/1997 12:00:00 AM | ERNSH | Kirchgasse 6 |
| 10765 | 12/4/1997 12:00:00 AM | QUICK | Taucherstraße 10 |
| 10766 | 12/5/1997 12:00:00 AM | OTTIK | Mehrheimerstr. 369 |
| 10767 | 12/5/1997 12:00:00 AM | SUPRD | Boulevard Tirou, 255 |
| 10768 | 12/8/1997 12:00:00 AM | AROUT | Brook Farm Stratford St. Mary |
| 10769 | 12/8/1997 12:00:00 AM | VAFFE | Smagsloget 45 |
| 10770 | 12/9/1997 12:00:00 AM | HANAR | Rua do Paço, 67 |
| 10771 | 12/10/1997 12:00:00 AM | ERNSH | Kirchgasse 6 |
| 10772 | 12/10/1997 12:00:00 AM | LEHMS | Magazinweg 7 |
| 10773 | 12/11/1997 12:00:00 AM | ERNSH | Kirchgasse 6 |
| 10774 | 12/11/1997 12:00:00 AM | FOLKO | Åkergatan 24 |
| 10775 | 12/12/1997 12:00:00 AM | THECR | 55 Grizzly Peak Rd. |
| 10776 | 12/15/1997 12:00:00 AM | ERNSH | Kirchgasse 6 |
| 10777 | 12/15/1997 12:00:00 AM | GOURL | Av. Brasil, 442 |
| 10778 | 12/16/1997 12:00:00 AM | BERGS | Berguvsvägen 8 |
| 10779 | 12/16/1997 12:00:00 AM | MORGK | Heerstr. 22 |
jQuery Ajax:
MicrosoftAjax:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<PagedList<Order>>" %>
<%@ Import Namespace="Webdiyer.Mvc2Demo.Models"%>
<%@ Import Namespace="Webdiyer.WebControls.Mvc"%>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
MvcPager samples - Ajax events
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script language="javascript" type="text/javascript"
src="<%=Url.Content("~/Scripts/jquery-1.4.2.min.js") %>"></script>
<script language="javascript" type="text/javascript"
src="<%=Url.Content("~/Scripts/MicrosoftAjax.js") %>"></script>
<script language="javascript" type="text/javascript"
src="<%=Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>"></script>
<h2>MvcPager samples - Ajax events</h2>
<div>This sample demonstrate how to handle Ajax events when implement Ajax paging,
click or select page 10 will trigger server exception and fire the client OnFailure Ajax event.
<br /><span style="color:red">Please note:
AjaxOptions.OnSuccess property is not implemented when using jQuery Ajax</span>
</div><br />
<%Html.RenderPartial("UCAjaxEvents", Model); %>
</asp:Content>
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<PagedList<Webdiyer.Mvc2Demo.Models.Order>>" %>
<%@ Import Namespace="Webdiyer.Mvc2Demo.Models" %>
<%@ Import Namespace="Webdiyer.WebControls.Mvc"%>
<div id="dvOrders">
<table width="98%">
<tr><th>Order ID</th><th>Order Date</th><th>Customer ID</th><th>Ship Address</th></tr>
<%foreach(Order od in Model)
{
%>
<tr><td><%=od.OrderID %></td><td><%=od.OrderDate.ToString() %></td>
<td><%=od.CustomerID %></td><td><%=od.ShipAddress %></td></tr>
<%
} %>
</table>
<p>jQuery Ajax:</p>
<%=Html.AjaxPager(Model, new PagerOptions() { PageIndexParameterName = "id",
ShowPageIndexBox = true, PageIndexBoxType = PageIndexBoxType.DropDownList,
ShowGoButton = false }, new AjaxOptions() { UpdateTargetId = "dvOrders",
OnBegin = "function(){alert('Ajax OnBegin event fired');}",
OnComplete = "function(){alert('Ajax OnComplete event fired');}",
OnFailure = "function(){alert('Ajax OnFailure event fired');}" })%>
<p>MicrosoftAjax:</p>
<%=Ajax.Pager(Model, new PagerOptions() { PageIndexParameterName = "id",
ShowPageIndexBox = true, PageIndexBoxType = PageIndexBoxType.DropDownList,
ShowGoButton = false }, new AjaxOptions() { UpdateTargetId = "dvOrders",
OnBegin = "function(){alert('Ajax OnBegin event fired');}",
OnComplete = "function(){alert('Ajax OnComplete event fired');}",
OnSuccess = "function(){alert('Ajax OnSuccess event fired');}",
OnFailure = "function(){alert('Ajax OnFailure event fired');}" })%>
</div>
public ActionResult AjaxEvents(int? id)
{
using (var db = new MvcPagerDemoDataContext())
{
if (id.HasValue && id.Value == 10) //throw exception for testing purpose
throw new Exception("test exception");
PagedList<Order> orders = db.Orders.ToPagedList(id ?? 1, 20);
if (Request.IsAjaxRequest())
return PartialView("UCAjaxEvents", orders);
return View(orders);
}
}