Как я могу прокрутить до якоря? - PullRequest
0 голосов
/ 03 июня 2010

Я привязал элемент управления пейджера к списку.

Я бы хотел прокрутить до первого элемента элемента управления списком на щелчке DataPager. Я думаю, что это должно быть сделано с помощью JavaScript. Кажется, что пейджер данных этого не допускает.

Какие варианты у меня есть? Как я могу прокрутить до определенного якоря при нажатии на DataPager?

Ответы [ 3 ]

1 голос
/ 03 июня 2010

Вы можете использовать базовый html с именем anchor для прокрутки до определенного якоря.

0 голосов
/ 04 июня 2010

Спасибо, Тим!

А для ленивых парней (как и я;) вот эквивалент VB.NET. Он содержит исправления опечаток и новый метод RegisterClientScriptBlock

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        FocusControlOnPageLoad("Label1", Me.Page)
 End Sub

 Public Sub FocusControlOnPageLoad(ByVal ClientID As String, ByVal page As System.Web.UI.Page)
        Dim csName As String = "ScrollViewScript"
        Dim csType As Type = Me.GetType
        Dim cs As ClientScriptManager = page.ClientScript
        If Not cs.IsClientScriptBlockRegistered(csType, csName) Then
            Dim csText As New StringBuilder()
            csText.Append("<script>function ScrollView(){")
            csText.Append("var el = document.getElementById('" & ClientID & "');")
            csText.Append("if (el != null){")
            csText.Append("el.scrollIntoView();")
            csText.Append("el.focus();}}")
            csText.Append("window.onload = ScrollView;")
            csText.Append("</script>")
            cs.RegisterClientScriptBlock(csType, csName, csText.ToString())
        End If
    End Sub
0 голосов
/ 04 июня 2010

Вы можете использовать функцию javascript scrollIntoView для этого на стороне клиента или на "стороне сервера": http://www.codeproject.com/KB/aspnet/ViewControl.aspx

...