This is a single dll class library that will enable you to add paging your asp mvc project. Download the pagination.dll (go to download section) and add this to your project reference and wala you are done.
import the dll in your views
@using ExicoSoftwareSolutions.WebTools.MvcPagination
And suppose your controller passes the model to the view as below
public class ProductsViewModel{
public int TotalItem;
public int ItemsPerPage;
public Icollection<Products> ps;
.....
}
now in the view you can actually do something like this
@Html.RenderPaging(Model.TotalItem, Model.ItemsPerPage, new PagerOptions() { WrapperDivClass ="mypagination" });
*Note that any query string will be automatically added to the page numbered links , so that you do not have to worry about manually adding the query string segments to the pagination links.
This helper has a lot of customization options that you can configure while rendering the paging.
Here is the page option object you can pass to the page renderer -
public class PagerOptions { public string NextText { get; set; }//the text for the next link public string PrevText { get; set; }//text for the previous link public string FirstText { get; set; }//text for the first link public string LastText { get; set; }//text for the first link public string WrapperDivClass { get; set; }//the class name for the div that sorrounds the links public Boolean ShowFirstAndLast { get; set; }//toggle on and off displaying the "First" and "Last" link public Boolean ShowNextAndPrev { get; set; }//toggle on and off displaying the "Prev" and "Next" link public string Controller { get; set; }//if a controller is specified public string Action { get; set; }//if an action is specified public string PageParam { get; set; }//the page url param default is "page" public Boolean ShowEvenOnlyOnePage { get; set; }//render the pager even if there is only one page public int NumberOfPagesToDisplay { get; set; } // the number of page links that will be shown on a page ................... }