在Windows应用程序中很容易控制控件的聚焦,但是在ASP.NET中并没有提供这样的功能,但是我们同样可以实现这样的功能,这篇文章就讲述了通过JaveScript实现在页面上某一特定控件获得焦点的功能。
下面是用到的JavaScript代码。
<script language="javascript">
var control = document.getElementById(<control name>);
if( control != null ){ control.focus(); }
</script>
var control = document.getElementById(<control name>);
if( control != null ){ control.focus(); }
</script>
这里写了一个SetFocusControl函数来封装上面的JavaScript代码,并且注册到页面上,注册到页面上使用的是Page.RegisterStartupScript 方法
Public Sub SetFocusControl(ByVal ControlName As String)
' character 34 = "
' 注意空格的书写这里用chr(34)
Dim script As String = _
"<script language=" + Chr(34) + "javascript" + Chr(34) _
+ ">" + _
" var control = document.getElementById(" + Chr(34) + _
ControlName + Chr(34) + ");" + _
" if( control != null ){control.focus();}" + _
"</script>"
Page.RegisterStartupScript("Focus", script)
End Sub
' character 34 = "
' 注意空格的书写这里用chr(34)
Dim script As String = _
"<script language=" + Chr(34) + "javascript" + Chr(34) _
+ ">" + _
" var control = document.getElementById(" + Chr(34) + _
ControlName + Chr(34) + ");" + _
" if( control != null ){control.focus();}" + _
"</script>"
Page.RegisterStartupScript("Focus", script)
End Sub
其中的ControlName是你要获得焦点的控件的ID。