ScriptManager scrmgr =(ScriptManager)this.Master.FindControl(“scrmgr”); scrmgr.SetFocus(txtSearch);
这是我的编码,它适用于所有浏览器。但我的问题是镀铬显示,如果文本框有任何值,则选择..
我想删除选择.......
答案 0 :(得分:0)
我认为没有比编写自己的setFocus函数更好的解决方案了。删除选择的最简单的跨浏览器方法是临时存储文本,清除值并在之后再次设置。然后在输入控件上调用js-function焦点。 我认为这个VB.Net代码有助于得到这个想法(我不知道你是否更喜欢c#):
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
setFocusOnControl(Me.TextBox1)
End Sub
Public Sub setFocusOnControl(ByVal ctrl As Control)
Dim script As String = "" & vbCrLf & _
"var control = document.getElementById('" & ctrl.ClientID & "');" & vbCrLf & _
"var temptext = control.value;" & vbCrLf & _
"control.value='';" & vbCrLf & _
"control.value=temptext;" & vbCrLf & _
"control.focus();" & vbCrLf & _
"" & vbCrLf
ScriptManager.RegisterStartupScript(Me.Page, Me.Page.GetType, "setFocusOnControlScript", script, True)
End Sub