Código PHP:
   Imports System.Data.SqlClient, System.Data, AjaxPro
Partial Class _Default
    Inherits System.Web.UI.Page
    <AjaxMethod()> _
    Public Function Paginar(ByVal pagina As Integer)
        Dim cadena As String = Listar(50, pagina).ToString
        Return cadena
    End Function
    <AjaxMethod()> _
    Public Function Ordenar(ByVal TipoOrden As String, ByVal Campo As String)
        Try
            Dim dt As DataView = Session("Vista")
            Dim s As New System.Web.UI.WebControls.GridViewSortEventArgs(Campo, SortDirection.Ascending)
            If TipoOrden = "asc" Then
                s.SortDirection = SortDirection.Ascending
            Else
                s.SortDirection = SortDirection.Descending
            End If
            dt.Sort = s.SortExpression & "  " & TipoOrden
            Dim tabla As New DataTable
            tabla = dt.Table.Clone
            Dim fila As DataRowView
            Dim a As Integer
            a = 0
            For Each fila In dt
                tabla.ImportRow(fila.Row)
                a += 1
            Next
            Dim mihtml As New System.Text.StringBuilder()
            mihtml.Append("<table id='123'>")
            mihtml.Append("<tr>")
            For a = 0 To dt.Table.Columns.Count - 1
                If Campo = dt.Table.Columns(a).ColumnName And TipoOrden = "asc" Then
                    mihtml.Append("<th> <a href='javascript:void(0)' id= 'mylink' onclick=Ordenar('desc','" & dt.Table.Columns(a).ColumnName & "')>")
                    mihtml.Append(dt.Table.Columns(a).ColumnName)
                    mihtml.Append("</a></th> ")
                Else
                    mihtml.Append("<th> <a href='javascript:void(0)' id= 'mylink' onclick=Ordenar('asc','" & dt.Table.Columns(a).ColumnName & "')>")
                    mihtml.Append(dt.Table.Columns(a).ColumnName)
                    mihtml.Append("</a></th> ")
                End If
            Next
            mihtml.Append("</tr>")
            For a = 0 To tabla.Rows.Count - 1
                mihtml.Append("<tr>")
                mihtml.Append("<td>")
                mihtml.Append(tabla.Rows(a)(0))
                mihtml.Append("</td>")
                mihtml.Append("<td>")
                mihtml.Append(tabla.Rows(a)(1))
                mihtml.Append("</td>")
                mihtml.Append("<td>")
                mihtml.Append(tabla.Rows(a)(2))
                mihtml.Append("</td>")
                mihtml.Append("<td>")
                mihtml.Append(tabla.Rows(a)(3))
                mihtml.Append("</td>")
                mihtml.Append("</tr>")
            Next
            mihtml.Append("</table>")
            Dim cadena As String
            cadena = mihtml.ToString()
            Return cadena
        Catch ex As Exception
            Return ex.Message.ToString()
        End Try
    End Function
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Utility.RegisterTypeForAjax(GetType(_Default))
        If Not IsPostBack Then
            Session("cantidad") = SqlHelper.ExecuteScalar(ConfigurationManager.ConnectionStrings("SQL_CN").ConnectionString.ToString(), CommandType.Text, "select count(*) from [order details]")
        End If
        lblDatos.Text = Listar(50, 1).ToString()
        Registros()
        Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "mensaje()", "<script language='javascript'>function mensaje(obj) {  var obj = _Default.Paginar(obj).value;     document.getElementById('" & lblDatos.ClientID & "').innerHTML=obj;     }    </script>")
        Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "Ordenar()", "<script language='javascript'>function Ordenar(tipo,nombre) {  var obj = _Default.Ordenar(tipo,nombre).value;     document.getElementById('" & lblDatos.ClientID & "').innerHTML=obj;     }    </script>")
    End Sub
    Public Function Listar(ByVal cantidad As Integer, ByVal pagina As Integer)
        Dim dt As DataTable = SqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings("SQL_CN").ConnectionString.ToString(), "paginar", cantidad, pagina).Tables(0)
        Session("Vista") = dt.DefaultView
        Dim mihtml As New System.Text.StringBuilder()
        mihtml.Append("<table id='123'>")
        mihtml.Append("<tr>")
        Dim a As Integer
        For a = 0 To dt.Columns.Count - 1
            mihtml.Append("<th> <a href='javascript:void(0)' onclick=Ordenar('asc','" & dt.Columns(a).ColumnName & "')>")
            mihtml.Append(dt.Columns(a).ColumnName)
            mihtml.Append("</a></th> ")
        Next
        mihtml.Append("</tr>")
        For a = 0 To dt.Rows.Count - 1
            mihtml.Append("<tr>")
            mihtml.Append("<td>")
            mihtml.Append(dt.Rows(a)(0))
            mihtml.Append("</td>")
            mihtml.Append("<td>")
            mihtml.Append(dt.Rows(a)(1))
            mihtml.Append("</td>")
            mihtml.Append("<td>")
            mihtml.Append(dt.Rows(a)(2))
            mihtml.Append("</td>")
            mihtml.Append("<td>")
            mihtml.Append(dt.Rows(a)(3))
            mihtml.Append("</td>")
            mihtml.Append("</tr>")
        Next
        mihtml.Append("</table>")
        Return mihtml.ToString()
    End Function
    Public Sub Registros(Optional ByVal parametro As Integer = 0)
        Dim a As Integer = Integer.Parse(Session("cantidad"))
        Dim c As Integer = 0
        For b As Integer = 0 To a Step 50
            c += 1
            If c = parametro Then
                lblcantidad.Text &= "<b>" & c.ToString() & "</b>"
            Else
                lblcantidad.Text &= "<a href='javascript:void(0)' id= 'mylink'  onclick=mensaje('" & c.ToString() & "')>" & c.ToString() & "</a> "
            End If
        Next
    End Sub
End Class 
    Código PHP:
   <%@ Page Language="VB" EnableViewState="false" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Página sin título</title>
</head>
<body>
    <form id="form1" runat="server">
        <br />
 <asp:Label ID="lblcantidad" runat="server" Font-Names="Verdana" Font-Size="7pt"></asp:Label>
        <br />
        <br />
        <table id='123'>
            <tr>
                <td>
 
<asp:Label id="lblDatos" runat="server" Font-Names="Verdana" Font-Size="7pt"></asp:Label></td>
            </tr>
        </table>         
    </form>
</body>
</html> 
    
 
