public static MvcHtmlString PageLink(this HtmlHelper html, Paginacao paginacao, Func<int,string> PaginaURL) { StringBuilder result = new StringBuilder(); for (int i = 1; i < paginacao.PaginaTotal; i++) { TagBuilder tag = new TagBuilder("a"); tag.MergeAttribute("href", PaginaURL(i)); tag.InnerHtml = i.ToString(); if (i == paginacao.PaginaAtual) { tag.AddCssClass("selected"); tag.AddCssClass("btn-primary"); } tag.AddCssClass("btn btn-default"); result.Append(tag); } return MvcHtmlString.Create(result.ToString()); }
public void TesteGeracaodePaginacao() { HtmlHelper html = null; Paginacao paginacao = new Paginacao { PaginaAtual = 2, IntensPorPagina = 10, IntensTotal = 28, }; Func<int, string> PaginaURL = i => "Pagina" + i; //act MvcHtmlString resultado = html.PageLink(paginacao, PaginaURL); //assert Assert.AreEqual( @"<a class=""btn btn-defaoult"" href=""Pagina1"">1</a>" + @"<a class=""btn btn-default btn-primary selected"" href""Pagina2"">2</a>" + @"<a class=""btn btn-default"" href=""Pagina3""</a>", resultado.ToString() ); }