public ActionResult Index(int?ced, int pagina = 1) { var cantidadRegistrosPorPagina = 20; // parámetro using (var bd = new SIMAMUSEntities()) { Func <RegistroResultados, bool> predicado = x => !ced.HasValue || ced.Value == x.CedulaPaciente; var personas = bd.RegistroResultados.Where(x => x.CedulaPaciente == ced || ced == null).OrderByDescending(x => x.IdRegistro) .Skip((pagina - 1) * cantidadRegistrosPorPagina) .Take(cantidadRegistrosPorPagina).ToList(); var totalDeRegistros = db.RegistroResultados.Where(x => x.CedulaPaciente == ced || ced == null).Count(); var modelo = new IndexViewModels(); modelo.Registros = personas; modelo.PaginaActual = pagina; modelo.TotalDeRegistros = totalDeRegistros; modelo.RegistrosPorPagina = cantidadRegistrosPorPagina; modelo.ValoresQueryString = new RouteValueDictionary(); modelo.ValoresQueryString["ced"] = ced; return(View(modelo)); } }