从下拉列表中选择一个项目后,我需要关注文本框。

我试过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周围的引号。

09-27 06:32