按照上面VB。NET的作法,会在页面下出现一行<script language='javascript'>document.getElementById('txtFn').focus();</script> 既scriptFunction的值,并没有使控件获得焦点,是不是我哪弄错了呢
----------------------------------》
检查一下你的控件在生成HTML后的ID是什么,是否是txtFn
------------------
我在page_load里
If (Page.IsPostBack = False) Then
SetFocus(txtFn)
End If
运行后出现了上述问题
上面是c#版本的
这里给个VB版本的:
Private Sub SetFocus(ByVal controlToFocus As Control)
Dim scriptFunction As New StringBuilder
Dim scriptClientId As String
scriptClientId = controlToFocus.ClientID
scriptFunction.Append("<script language='javascript'>")
scriptFunction.Append("document.getElementById('" & scriptClientId & "').focus();")
scriptFunction.Append("</script>")
RegisterStartupScript("focus", scriptFunction.ToString())
End Sub
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If (Page.IsPostBack = False) Then
SetFocus(TextBox1)
End If
End Sub