如何在asp.net中回帖后将焦点设置在文本框上

A.G*_*tam 5 c# asp.net updatepanel asp.net-ajax

我在更新面板中有一个文本框.当用户键入内容时,我从数据库中获取相关数据并将其填入另一个文本框中.我的问题是,在autopostback之后,对任何文本框的关注都会丢失.我如何使用javascript或代码管理这个,因为我在我使用的代码中使用了两者

 System.Web.UI.ScriptManager.GetCurrent(this).SetFocus(this.txtReference);
Run Code Online (Sandbox Code Playgroud)

和JavaScript我发现还有一个

    <script type="text/javascript">
    var postbackElement;
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);


    function beginRequest(sender, args) {
        postbackElement = args.get_postBackElement();
    }


    function pageLoaded(sender, args) {
        var updatedPanels = args.get_panelsUpdated();
        if (typeof (postbackElement) === "undefined") {
            alert('if Loop');
            return;
        }
        else if (postbackElement.id.toLowerCase().indexOf('button1') > -1) {
        alert('else');
            for (i = 0; i < updatedPanels.length; i++) {

                document.getElementById('<%= txtAcctNo.ClientID %>').focus();
            }
        }


    }
</script>
Run Code Online (Sandbox Code Playgroud)

但没有工作,因为'button1 undefined'.我放在那里是因为所有事件都在aspx页面的OnTextChanged =""上执行.

所以请通过代码或javascript帮助我如何做到这一点.

Agh*_*oub 9

我建议你尝试一下 SetFocus method server side

Page.SetFocus(IdOfControl);
Run Code Online (Sandbox Code Playgroud)