从下拉列表中选择一个项目后,我需要关注文本框。
我试过control.focus()和setfocus()。
我尝试过的最后一件事是使用以下方法在SelectedIndexChanged方法内的Set_Focus(dtbEffectiveDate.ClientID)。
Protected Sub Set_Focus(ByVal ControlName As String)
Dim strScript As String
strScript = "<script language=javascript> window.setTimeout(""" + ControlName + ".focus();"",0); </script>"
RegisterStartupScript("focus", strScript)
End Sub
我没有答案,所以任何帮助都很棒。
最佳答案
您应该使用document.getElementById(id)在javascript中选择控件:
document.getElementById('"+ControlName+"').focus();
就像是:
Protected Sub Set_Focus(ByVal ControlName As String)
Dim strScript As String
strScript = "<script language=javascript> window.setTimeout(document.getElementById('" + ControlName + "').focus();"",0); </script>"
RegisterStartupScript("focus", strScript)
End Sub
编辑:我不完全确定正确的VB语法,用于转义ControlName周围的引号。