我已将数据分页器控件绑定到列表视图。
我想滚动到 DataPager 单击时列表视图控件的第一项。我认为这应该用javascript来完成。似乎数据分页器不允许这样做。
我有什么选择?单击 DataPager 时如何滚动到特定锚点?
我已将数据分页器控件绑定到列表视图。
我想滚动到 DataPager 单击时列表视图控件的第一项。我认为这应该用javascript来完成。似乎数据分页器不允许这样做。
我有什么选择?单击 DataPager 时如何滚动到特定锚点?
您可以使用名为 anchor的基本 html滚动到特定的锚点。
您可以在客户端或“服务器端” 使用javascript函数scrollIntoView :http: //www.codeproject.com/KB/aspnet/ViewControl.aspx
谢谢蒂姆!
对于那些懒惰的人(就像我一样;),这里是 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