Я знаю, что на этот вопрос уже был дан ответ, но я думаю, что у меня есть более простое решение. Мне нужно решение на стороне клиента, и это работало просто отлично.
Что происходило со мной, так это то, что я загрузил страницу, а затем отложил загрузку Panel после полной загрузки главной страницы. Если бы я прокрутил свою главную страницу вообще, тогда, когда Panel закончила загрузку, вся моя страница просто прокрутилась бы вверх. Таким образом, этот код отслеживает любую прокрутку, которую я мог бы выполнять во время загрузки Panel. Затем, когда панель закончила загрузку, вместо прокрутки вверх, страница просто прокручивается туда, где я только что был. Пока что это прекрасно работает в IE, Chrome, FF, Opera и Safari
<script type="text/javascript">
var yPos;
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(EndRequestHandler);
$(window).scroll(function () { yPos = $(window).scrollTop(); });
function EndRequestHandler(sender, args) {
$(window).scrollTop(yPos);
}
</script>