Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将焦点设置为UpdatePanel中的文本框_Asp.net_Focus_Updatepanel - Fatal编程技术网

Asp.net 将焦点设置为UpdatePanel中的文本框

Asp.net 将焦点设置为UpdatePanel中的文本框,asp.net,focus,updatepanel,Asp.net,Focus,Updatepanel,我在UpdatePanel中有四个文本框,所有这些文本框的AutoPostBack都设置为True。当用户输入一个值并按Enter键时,我希望光标自动移动到下一个文本框。当UpdatePanel中没有控件时,标准的textbox.focus方法可以正常工作 我发现了一些导致我创建此的代码: Protected Sub txtField_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles txtField1.T

我在UpdatePanel中有四个文本框,所有这些文本框的AutoPostBack都设置为True。当用户输入一个值并按Enter键时,我希望光标自动移动到下一个文本框。当UpdatePanel中没有控件时,标准的textbox.focus方法可以正常工作

我发现了一些导致我创建此的代码:

    Protected Sub txtField_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles txtField1.TextChanged,
    txtField2.TextChanged, txtField3.TextChanged
    'Based on the textbox where data was changed, move the cursor to the next field.

    Try
        Dim sm As ScriptManager = ScriptManager.GetCurrent(Me)

        'As multiple textboxes fire this same event, determine which textbox triggered this.
        Dim MyTextbox As TextBox = TryCast(sender, TextBox)

        Select Case MyTextbox.ID.ToString
            Case "txtField1"
                sm.SetFocus(txtField2)
            Case "txtField2"
                sm.SetFocus(txtField3)
            Case "txtField3"
                sm.SetFocus(txtField4)
        End Select

    Catch ex As Exception
        lblError.Text = "Error in [txtField_TextChanged]: " & ex.Message
    End Try

End Sub
真正奇怪的是,无论我在哪个领域首先尝试,它都能工作一次。之后,事件被触发,但焦点不变。以后的电话我还有什么需要补充的吗


如果有任何建议,我将不胜感激。谢谢大家!

尝试将
ScriptManager
EnablePartialRendering
属性设置为
false
,如下所示:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="false"></asp:ScriptManager>

我希望这有帮助!祝你好运,祝你快乐:)