06 aprile 2007

VB.NET : Impostare il focus su di un controllo della pagina ASPX

La seguente funzione consente di impostare il focus su di un ben determinato controllo al momento del caricamento della pagina ASPX.
Può rendersi utile se abbiamo una pagina web con un controllo che deve essere attivo al momento del caricamento della pagina (ad esempio il campo per la ricerca o il login).



Private Sub SetDefaultControlFocus(ByVal ctrl As Control)
  Dim formName As String
  Dim c As Control = ctrl.Parent
  While (Not (TypeOf c Is System.Web.UI.HtmlControls.HtmlForm))
    c = c.Parent
  End While

  If TypeOf c Is System.Web.UI.HtmlControls.HtmlForm Then
    formName = c.ClientID
  Else
    formName = "forms[0]"
  End If

  Dim jsString As New StringBuilder
  With jsString
    .Append("")
  End With
  Me.RegisterStartupScript("defaultControlFocusScript", jsString.ToString())
End Sub

Nessun commento: