我在更新面板中有一个文本框。当用户键入内容时,我从数据库中获取相关数据并将其填入另一个文本框中。我的问题是,在autopostback之后,任何文本框的焦点都会丢失。我如何使用javascript或代码管理这个,因为我在我使用的代码中使用了两者
System.Web.UI.ScriptManager.GetCurrent(this).SetFocus(this.txtReference);
和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>
但因为'button1 undefined'而无法正常工作。 我放置的是因为在aspx页面中OnTextChanged =“”上执行了所有事件。
所以请通过代码或javascript帮助我如何做到这一点。
答案 0 :(得分:8)
我建议您尝试使用SetFocus method server side
Page.SetFocus(IdOfControl);