Jag skulle vilja sätta focus i page_load på ett objekt, txtUserName men hittar inte riktigt om det finns någon funktion i .net som klarar detta. Är det någon som vet? Jag tror inte det. Jag brukar lägga till en rad javascript i slutet på sidan som sätter focus på rätt kontroll. Har du inte någon tabindex möjlighet att på så sätt sätta vem som först har focus? Så här brukar jag göra. Det funkar finfint! Borde man inte kunna få bort loopen på något sätt?Sätta focus via codebehind på ett aspx-objekt.
Normalt hade jag på body onload="document.form1.txtusername.focus();" lagt in focus men hoppas som sagt att det är inbyggt på något sätt.Sv: Sätta focus via codebehind på ett aspx-objekt.
/johan/Sv: Sätta focus via codebehind på ett aspx-objekt.
Sv: Sätta focus via codebehind på ett aspx-objekt.
Det är bara att anropa subrutinen som nedan.
SetInitialFocus(txtUserName)
<code>
Public Class Tools
Public Shared Sub SetInitialFocus(ByVal ctrl As Control)
Dim s As Stringbuilder = New StringBuilder()
s.Append("<SCRIPT LANGUAGE='JavaScript'>")
s.Append("function SetInitialFocus()")
s.Append("{")
s.Append(" document.")
Dim p As Control = ctrl.Parent
While Not TypeOf p Is System.Web.UI.HtmlControls.HtmlForm
p = p.Parent
End While
s.Append(p.ClientID)
s.Append("['")
s.Append(ctrl.UniqueID)
s.Append("'].focus();")
s.Append("}")
s.Append("window.onload = SetInitialFocus;")
s.Append("</SCRIPT>")
ctrl.Page.RegisterClientScriptBlock("InitialFocus", s.ToString())
End Sub
End Class
</code>Sv: Sätta focus via codebehind på ett aspx-objekt.