Exemplo n.º 1
0
 public static MvcHtmlString PageLinks(this HtmlHelper html, Paginacao paginacao, Func<int, string> paginaUrl)
 {
     StringBuilder resultado = new StringBuilder();
     for (int i = 1; i <= paginacao.TotalPaginas; 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");
         resultado.Append(tag);
     }
     return MvcHtmlString.Create(resultado.ToString());
 }
Exemplo n.º 2
0
 public void TestarGeracaoPaginacao()
 {
     // Arrage
     HtmlHelper html = null;
     Paginacao paginacao = new Paginacao {
         PaginaAtual = 2,
         ItensPorPagina = 10,
         ItensTotal = 28
     };
     Func<int, string> paginaUrl = i => "Pagina" + i;
     // Act
     MvcHtmlString resultado = html.PageLinks(paginacao, paginaUrl);
     // Asssert
     Assert.AreEqual(
           @"<a class=""btn btn-default"" href=""Pagina1"">1</a>"
          + @"<a class=""btn btn-default btn-primary selected"" href=""Pagina2"">2</a>"
          + @"<a class=""btn btn-default"" href=""Pagina3"">3</a>", resultado.ToString()
          );
 }