segunda-feira, 12 de outubro de 2009

DataPager - Utilizando a QueryString para paginar os dados

Fala, galera!!

Hoje em dia quando construímos aplicações web públicas devemos nos preocupar com algumas regras que permitem um melhor rankeamento de nosso site pelos sistemas de busca(google, yahoo, etc.).

Para que nosso site seja melhor rankeado e nossas páginas devidamente indexadas devemos nos preocupar em permitir que os robôs dos mecanismos de busca possam navegar por todo nosso site.

Isso tem um impacto direto na forma como programamos a paginação de nosso site.

Por default, o controle DataPager gera um código javascript que por sua vez dá um postback na página para que ocorra a paginação.
Este código não gera um link navegável pelos mecanismos de busca. Mas isso é facilmente contornável.
Basta utilizarmos a propriedade QueryStringField do datapager.

<asp:DataPager ID="DataPager1" PagedControlID="lstvNoticias" QueryStringField="Pagina" PageSize="10" runat="server">

Ao preenchermos esta propriedade, a paginação será exibida da seguinte forma:
http://www.seusite.com.br/pagina.aspx?Pagina=1
Este link é navegável pelos mecanismos de busca.

Em seguida, precisamos inserir a seguinte linha no code-behind antes de preenchermos o datasource.

DataPager1.SetPageProperties((CInt(Request("Pagina")) - 1) * DataPager1.PageSize, DataPager1.PageSize, False) 'Esta linha define a página que será exibida


lstvNoticias.DataSource = ListaComResultado
lstvNoticias.DataBind()



É isso ae, galera.

Um abraço e até a próxima!!

Um comentário:

  1. procurei por toda a internet e nenhum lugar falava pra usar o setpageproperties antes de setar o datasource, só no pagepropertieschanging... após achar o seu artigo meus problemas acabaram-se!!

    ResponderExcluir