In case your application runs on .NET version 4.0 the position should be fixed automatically. A combination of .NET 3.5 and browsers like Chrome or Safari causes the position on a page to be lost after postback.
-
The workaround is to use the AJAX update panel and check e.g. the Use update panel property in repeater based web parts.
-
If the update panel cannot be used for some reason, you can change the ~/App_Browsers/outputfilter.browser file and add the following code into the <browsers> section:
<browser refID="Safari1Plus">
<capabilities>
<capability name="supportsMaintainScrollPositionOnPostback" value="true" />
</capabilities>
</browser>
Please make sure that your master template, in case of Portal Engine it is file ~/CMSPages/PortalTemplate.aspx, contains the following property set to true:
<%@ Page … MaintainScrollPositionOnPostback="true" ..%>
-it-