por Massami
23. agosto 2010 15:54
Salve galera!
Semana passada tive um problema com o MaintainScrollPositionOnPostback no Chrome e consegui solucionar atráves de uma pesquisa rápida no Google, mas caso alguém também tenha esse problema, estou compartilhando.
Pra quem não sabe, existe um recurso no ASP.NET que mantém a posição do página (scroll) após um Postback chamado MaintainScrollPositionOnPostback. Ele funciona adicionando-se na diretiva da página/masterpage desejada o seguinte código:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="teste.aspx.cs" Inherits="teste" MaintainScrollPositionOnPostback="true" %>
Dessa forma, após um evento a página retorna em sua última posição de scroll.
Mas voltando as vacas magras, o problema é que este recurso (não me pergunte porque) não funciona mais nas versões atuais do Chrome e Safari. Mas para resolver isso, basta fazer o seguinte:
- Crie uma pasta chamada App_Browsers em sua aplicação
- Crie um arquivo chamado SafariFix.browser nesta pasta
- Salve o seguinte código neste arquivo:
<browsers>
<browser refID="Safari1Plus">
<capabilities>
<capability name="supportsMaintainScrollPositionOnPostback" value="true" />
</capabilities>
</browser>
</browsers>
Bom, pelo menos nos testes que fiz aqui funcionou em todos os navegadores atuais.
Grande abraço e até a próxima.
Créditos a maxald.
Fonte: http://forums.asp.net/p/1094179/1651390.aspx