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

Order IDOrder DateCustomer IDShip Address
110604/30/1998 12:00:00 AMFRANSVia Monte Bianco 34
110614/30/1998 12:00:00 AMGREAL2732 Baker Blvd.
110624/30/1998 12:00:00 AMREGGCStrada Provinciale 124
110634/30/1998 12:00:00 AMHUNGO8 Johnstown Road
110645/1/1998 12:00:00 AMSAVEA187 Suffolk Ln.
110655/1/1998 12:00:00 AMLILASCarrera 52 con Ave. Bolívar #65-98 Llano Largo
110665/1/1998 12:00:00 AMWHITC1029 - 12th Ave. S.
110675/4/1998 12:00:00 AMDRACDWalserweg 21
110685/4/1998 12:00:00 AMQUEENAlameda dos Canàrios, 891
110695/4/1998 12:00:00 AMTORTUAvda. Azteca 123
110705/5/1998 12:00:00 AMLEHMSMagazinweg 7
110715/5/1998 12:00:00 AMLILASCarrera 52 con Ave. Bolívar #65-98 Llano Largo
110725/5/1998 12:00:00 AMERNSHKirchgasse 6
110735/5/1998 12:00:00 AMPERICCalle Dr. Jorge Cash 321
110745/6/1998 12:00:00 AMSIMOBVinbæltet 34
110755/6/1998 12:00:00 AMRICSUStarenweg 5
110765/6/1998 12:00:00 AMBONAP12, rue des Bouchers
110775/6/1998 12:00:00 AMRATTC2817 Milton Dr.

jQuery Ajax:

First  Prev  ...  7  8  9  10  11  12  13  14  15  16  Next  Last  

MicrosoftAjax:

First  Prev  ...  7  8  9  10  11  12  13  14  15  16  Next  Last  
<%@ 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);
            }
        }