コード例 #1
0
ファイル: UnitTest1.cs プロジェクト: rico3d/Rico3dLoja
        public void TestarSeApaginacaoEstaSendoGeradaCorretamente()
        {
            //arrange
            HtmlHelper ohtml = null;

            var paginacao = new Paginacao()
            {
                PaginaAtual = 2,
                ItensPorPagina = 10,
                ItensTotal = 28
            };

            Func<int, string> paginaUrl = i => "Pagina" + i;

            var resultado = ohtml.PageLinks(paginacao, paginaUrl);

            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()
               );
        }
コード例 #2
0
ファイル: PaginacaoHelpers.cs プロジェクト: rico3d/Rico3dLoja
        public static MvcHtmlString PageLinks(this HtmlHelper html, Paginacao paginacao, Func<int, string> paginaUrl)
        {
            var 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());
        }