Предполагая, что вы можете использовать JQuery, попробуйте следующее:
http://abeautifulsite.net/blog/2010/01/smoothly-scroll-to-an-element-without-a-jquery-plugin/
Просто введите сценарий и передайте идентификатор элемента управления, вызвавшего событие обратной передачи.
Если по какой-то причине вы не можете использовать jquery, вот менее элегантный подход:
http://clifgriffin.com/2008/10/14/using-javascript-to-scroll-to-a-specific-elementobject/
Редактировать (образцы):
Вот пример прямого HTML-кода с использованием метода jquery, при условии, что у вас есть файл сценария с именем jquery.js в той же папке, что и HTML-страница.
<html>
<head>
<script type='text/javascript' src='jquery.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
$('html,body').animate({
scrollTop: $('#scrollHere').offset().top
}, 0//increase for smooth, visible scroll
);
});
</script>
</head>
<body>
<div style='width:100px; height:1000px; background-color:red;'>
top filler
</div>
<a id='scrollHere' href='#'>Scrolls to this element</a>
<div style="width:100px; height:1000px; background-color:blue;">
bottom filler
</div>
</body>
</html>
Вот пример метода на стороне клиентачто вы можете передать свойство «ClientID» любого видимого элемента управления страницы, и он зарегистрирует JavaScript для прокрутки к элементу при загрузке страницы (предполагается, что jquery зарегистрирован на странице и регистрирует только один вызов на запрос):
private void ScrollToControl(string controlId)
{
//scroll to button
string script =
"$(document).ready(function() {" +
"$('html,body').animate({ " +
"scrollTop: $('#" + controlId + "').offset().top " +
"}, 0);" +
"});";
if (!Page.ClientScript.IsStartupScriptRegistered("ScrollToElement"))
Page.ClientScript.RegisterStartupScript(this.GetType(), "ScrollToElement", script, true);
}