如何滚动到锚点?

时间:2010-06-03 17:23:27

标签: asp.net javascript vb.net scroll datapager

我已将datapager控件绑定到listview。

我想滚动到DataPager点击列表视图控件的第一项。我认为这应该用javascript完成。似乎数据采集器不允许这样做。

我有哪些选择?单击DataPager时如何滚动到特定锚点?

3 个答案:

答案 0 :(得分:1)

您可以使用基本的html named anchor滚动到特定的锚点。

答案 1 :(得分:0)

您可以在客户端或“服务器端”使用javascript函数 scrollIntoView http://www.codeproject.com/KB/aspnet/ViewControl.aspx

答案 2 :(得分:0)

谢谢蒂姆!

对于懒惰的人(就像我一样),这里是VB.NET的等价物。 它包含拼写错误更正和新的RegisterClientScriptBlock Method

 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
相关问题