2010-06-03 4 views
0

J'ai lié un contrôle de datapager à un listview.Comment puis-je faire défiler jusqu'à une ancre?

Je voudrais faire défiler jusqu'au premier élément du contrôle ListView sur le clic DataPager. Je pense que cela devrait être fait avec javascript. Il semble que le datapager ne le permette pas.

Quelles options ai-je? Comment puis-je faire défiler jusqu'à une ancre spécifique en cliquant sur le DataPager?

Répondre

1

Vous pouvez utiliser le code de base named anchor pour faire défiler jusqu'à une ancre spécifique.

0

Merci Tim!

Et pour les gars paresseux là-bas (tout comme moi;), voici l'équivalent VB.NET. Il contient des corrections de typo et le nouveau 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