web-dev-qa-db-fra.com

Razor webgrid ajax paging et tri

J'essaie d'apprendre à utiliser Razor WebGrid dans MVC3. Comment fonctionne le paramètre ajaxUpdateCallback?

28
Sean Cain

AjaxUpdateCallback est le nom de la fonction javascript qui sera appelée une fois l'appel au serveur terminé. Le titre de votre question concerne la pagination et le tri avec le WebGrid qui ressemblerait à quelque chose comme ça ...

@{
    var grid = new WebGrid(canPage: true, rowsPerPage: ThisController.PageSize, canSort: true, ajaxUpdateContainerId: "grid");
    grid.Bind(Model.Employees, rowCount: Model.TotalRecords, autoSortAndPage: false);
    grid.Pager(WebGridPagerModes.All);
    @grid.GetHtml(htmlAttributes: new { id="grid" },
        columns: grid.Columns(
            grid.Column(format: (item) => Html.ActionLink("Edit", "Edit", new { EmployeeID = item.EmployeeID })),
            grid.Column("FullName"),
            grid.Column("Title")
        ));
}

J'ai un exemple complet ici si vous souhaitez le voir:

Exemple

46
Sean Chase

Le paramètre ajaxUpdateCallBack est utilisé pour spécifier la fonction JavaScript qui doit être appelée lorsque l'élément dénoté par la valeur ajaxUpdateContainerId a été mis à jour à la suite d'un tri ou d'une pagination, etc. Vous la transmettez au constructeur comme ceci:

var grid = new WebGrid(data, ajaxUpdateContainerId : "grid", 
                ajaxUpdateCallback: "callBack");

Et cela indiquera ceci:

function callBack(){
    alert('Called Back');
}
15
Mike Brind